编辑数据库导出脚本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 root@192.168.171.6:/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