...
No Format |
---|
#!/bin/bash
PW=
MYSQLDBDIR=/var/lib/mysql
BACKUPDIR=/home/backups/mysql
mkdir -p ${BACKUPDIR}
cd ${MYSQLDBDIR}
for db in `find * -type d -exec basename {} \;`; do
echo mysqldump ${db}
mysqldump --all --complete-insert --extended-insert=FALSE --add-drop-table --databases --flush-logs --lock-tables --quick --comments=0 \
--user=root --password=${PW} --host=localhost ${db} > ${BACKUPDIR}/${db}.new.sql
if [ -f ${BACKUPDIR}/${db}.sql ]; then
# echo diff -q ${BACKUPDIR}/${db}.sql ${BACKUPDIR}/${db}.new.sql
diff -q ${BACKUPDIR}/${db}.sql ${BACKUPDIR}/${db}.new.sql > /dev/null 2>&1
result=$?
if [ $result -eq 0 ]; then
# echo rm ${BACKUPDIR}/${db}.new.sql
rm ${BACKUPDIR}/${db}.new.sql
elif [ $result -eq 1 ]; then
echo mv ${BACKUPDIR}/${db}.new.sql ${BACKUPDIR}/${db}.sql
mv ${BACKUPDIR}/${db}.new.sql ${BACKUPDIR}/${db}.sql
fi
else
echo mv ${BACKUPDIR}/${db}.new.sql ${BACKUPDIR}/${db}.sql
mv ${BACKUPDIR}/${db}.new.sql ${BACKUPDIR}/${db}.sql
fi
done
|