linux下mysql自动备份及保留最新的n份

1、在linux新建文件mysqlbackup.sh

/home/mysqlbackup.sh

文件内容:

#!/bin/bash
dbNames=(db1 db2 db3)
DATE=`date -d "now" +%Y%m%d_%H%M%S`
cd /opt/backup/mysql
for dbName in ${dbNames[*]}
do
    #echo $dbName
    dumpFile=$dbName'_'$DATE.sql.gz
    #echo $dumpFile
    mysqldump  -uusername -ppassword   $dbName | gzip > /opt/backup/mysql/$dumpFile
    ls -lt $dbName'_'*| awk '{if(NR>7){print "rm "$9}}' | sh
done

文件说明:

把 username 替换为实际的用户名;

把 password 替换为实际的密码;

把 DatabaseName 替换为实际的数据库名;

2、赋予权限

chmod u+x /home/mysqlback.sh

3、加入定时任务

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。

输入以下内容并保存:

0 0 * * * /home/mysqlbackup.sh

说明:每天0点执行

猜你喜欢

转载自blog.csdn.net/altermanzhu/article/details/81080256