Schemalägg backup för MySQL

Att ta backup på sina databaser är väldigt viktigt. Jag brukar använda verktyget mysqldump som brukar följa med i installationen av MySQL.

Det här bash-scriptet (backup_script) kör jag varje natt via cronjon för att ta backup på alla databaser på en MySQL-server.

Efter backupen är genomförd loppar jag igenom tidigare backupfiler för att i detta fall radera backuper äldre än 48 timmar (-mtime +1).

Jag kör scriptet på en helt annan fysiskt server för att förbättra säkerheten ytterligare.

#!/bin/sh

today=`/bin/date +%Y%m%d-%H`
/usr/bin/mysqldump -h 127.0.0.1 -u root -ppassword --lock-all-tables --all-databases > /home/USERNAME/backup/backup-${today}.sql

for file in "$( /usr/bin/find /home/USERNAME/backup -type f -mtime +1 )"
do
  /bin/rm -f $file
done
exit 0

Jag anropar sedan scriptet varje natt med hjälp av cronjob.

* 0 * * * /home/USERNAME/backup_script

Ett enkelt och smidigt sätt att sköta sin backup av MySQL.

Hoppas du får användning av scriptet och att du aldrig behöver använda dina backuper.

Din kommentar eller åsikt