整体流程:
利用crontab启动定时任务,执行shell脚本,逻辑备份(导出sql),然后利用SCP传输到其他服务器。
其中shell脚本主要做两件事儿:
1.导出sql
2.利用SCP传输到其他服务器。
详解:
1.创建备份目录
mkdir backup cd backup2.创建sheel脚本
vi bkDatabaseName.sh其中bkDatabalseName可以依据实际,随意定义。输入如下
mysqldump -uusername -ppassword DatabaseName > /backup/DatabaseName_$(date +%Y%m%d).sql自行修改username(用户名)、password(密码)、DatabaseName(数据库名)
3.添加可执行权限
chmod u+x bkDatabaseName.sh然后试着手动执行
./bkDatabaseName.sh截止到目前,备份数据库的shell脚本已经创建好。
截下来利用scp,在shell脚本中添加scp命令,对导出来的sql传输至其他服务器,有关scp命令的详细介绍查看此篇文章,进行详细介绍。传送门
5.添加传输命令
再次编辑shell脚本,追加如下命令:
scp /backup/test_$(date +%Y%m%d).sql root@192.168.80.128:/backup/以上命令为 把备份出的/backup/test_$(date +%Y%m%d).sql文件,传输至192.168.80.128服务器的/back/目录下
好了,现在再次手动执行shell脚本./bkDatabaseName.sh,是否成功备份到目标服务器。
到目前,已经实现,手动备份,并且传输至目标服务器。截下来创建定时任务,自动执行
6.创建定时任务
执行命令
crontab -e输入如下:
*/1 * * * * /backup/bkDatabaseName.sh如上解释为:每隔一分钟,自动自动执行目标shell。
更多的时间定义请查看此篇文章。传送门
以上。