原文:http://www.devnote.cn/article/55.html
测试于:MySQL 5.0.95 | CentOS 5.7
#!/bin/sh # backup single mysql database and keep newest 15 days backup files. # database information db="db1" db_username="root" db_password="123" db_host="localhost" # the directory for your backup file. backup_dir="/mnt/backup/" # check the directory for your backup is writeable test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0 # make the directory for your backup if not exist test ! -d "$backup_dir" && mkdir "$backup_dir" # date format for backup file (dd.mm.yyyy) time="$(date +"%Y.%m.%d")" mysqldump -u$db_username -p$db_password -h $db_host $db | gzip -9 > "$backup_dir/$db-$time.gz" #delete the oldest backup 15 days ago find $backup_dir -name "$db-*.gz" -mtime +15 |xargs rm -rf exit 0;
查看crontab中的设置,每天清晨3点执行备份(设置时使用crontab -e)