1、创建要备份数据库的目录:
cd /root
mkdir mysql_backup
2、编写shell 脚本:
vi mysql.sh ,在该文件中输入以下内容:
DATE=`date +%Y%m%d_%H%M%S` # 日期
BIN_DIR="/usr/local/mysql/bin" #mysql的bin目录
BACK_DIR='/root/mysql_backup/' # 备份目录
$BIN_DIR/mysqldump --opt -uroot -p!@#.yixian#09_1eui zsefresh |gzip > $BACK_DIR/efresh-$DATE.sql.gz #要执行的命令,这里使用 mysqldump 进行热备份到指定目录进行zip 打包,蓝色部分表示数据库用户名、密码、要备份的数据库名
cd /root/mysql_backup #进入到备份的目录
find . -mtime +3 | xargs rm -f # 删除前3天备份的文件。
3、使用ls -a 查看shell 脚本的访问权限,如果没有可执行的权限 ,则要为该文件设置可执行的权限 ,可以执行命令 chmod 744 mysql.sh
4、使用crontab -e 命令输入定时任务:
crontab -e
输入以下内容,表示在每天的凌晨3点整执行 指定的脚本文件,crontab的内容语法可以google,这样就完成了整个数据库的备份。
* 3 * * * /root/mysql_backup/mysql.sh
如果要查看 crontab 的所有任务,可以使用 crontal -l查看
如果要删除 crontab 的所有任务,可以使用 crontal -r 删除,这样会删除当前用户的所有定时任务。还可以使用 crontal -e 后修改内容还删除