mysql数据库定时远程备份

编辑数据库导出脚本mysql_backup.sh ,内容为:
/home/applications/mysql-5.7.17/bin/mysqldump -uroot -ppassword -q    --add-drop-database  --databases eeds_cncf  | gzip > /home/database_backup/eeds_cncf_back/eeds_cncf_$(date +%Y%m%d).sql.gz
将需要备份的数据库导出为压缩包
如需在其他服务器备份,使用linux scp命令进行远程传输,其中需要使用expect
安装expect参照另外一篇expect安装。 特别注意expect安装后需要设置环境变量:将export LD_LIBRARY_PATH=/usr/lib/expect5.45:$LD_LIBRARY_PATH 加入到/ect/profile最后,保存。执行source /etc/profile是环境变量立即生效。

编辑文件传输脚本 scp_file.sh    :
使用命令:which expect 查看expect的目录,scp前面的路径为本机要传输的文件,后面的路径为目的路径
#!/usr/bin/expect 
set date [exec date "+%Y%m%d"]
spawn scp /home/database_backup/eeds_cncf_back/eeds_cncf_$date.sql.gz [email protected]:/home/database_back/eeds_cncf/eeds_cncf_$date.sql.gz
expect "*password:"
send "mypassword\r"
expect eof

编辑定时任务:
crontab -e 
进入编辑:添加:
59 22 * * * /home/database_backup/mysql_backup.sh
10 23 * * * /home/database_backup/scp_file.sh
保存即可。
定时 每天的22:59执行mysql_backup.sh,每天的23:10执行scp_file.sh

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