定时自动备份mysql数据库

  • 新建备份文件并赋予可以执行的权限
mkdir -p /home/mysql_backup/
touch /home/mysql_backup/mysql_backup.sh
chmod 777 /home/mysql_backup/mysql_backup.sh
  • 编辑/home/mysql_backup/mysql_backup.sh
vim /home/mysql_backup/mysql_backup.sh
  • 写入以下内容
backupdir=/home/mysql_backup
time=` date +%Y_%m_%d_%H_%M_%S `
db_user=root
db_pass=123456
mysqldump --all-databases -u $db_user -p$db_pass | gzip > $backupdir/$time.sql.gz
find $backupdir -name "*.sql.gz" -type f -mtime +5 -exec rm -rf {} \; > /dev/null 2>&1

find的用法是找到5天外的修改过的文件,把这些文件删除

  • 编辑crontab
    crontab -e
    在最后一行加入
    每分钟备份: * */1 * * * /home/mysql_backup/mysql_backup.sh
    周一到周六每天0点备份: 0 0 * * 1-6 /home/mysql_backup/mysql_backup.sh

  • 重启crontab
    service cron restart

你可能感兴趣的:(定时自动备份mysql数据库)