linux下自动备份mysql数据库至远程服务器终端

整体流程:

利用crontab启动定时任务,执行shell脚本,逻辑备份(导出sql),然后利用SCP传输到其他服务器。

其中shell脚本主要做两件事儿:

1.导出sql

2.利用SCP传输到其他服务器。

详解:

1.创建备份目录

mkdir backup
cd backup

2.创建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  [email protected]:/backup/

以上命令为 把备份出的/backup/test_$(date +%Y%m%d).sql文件,传输至192.168.80.128服务器的/back/目录下

好了,现在再次手动执行shell脚本./bkDatabaseName.sh,是否成功备份到目标服务器。

到目前,已经实现,手动备份,并且传输至目标服务器。截下来创建定时任务,自动执行

6.创建定时任务

执行命令

crontab -e

输入如下:

*/1 * * * * /backup/bkDatabaseName.sh

如上解释为:每隔一分钟,自动自动执行目标shell。

更多的时间定义请查看此篇文章。传送门

以上。

你可能感兴趣的:(mysql,Linux)