之前都是服务器管理工具备份,但备份仅在当前服务器。为了数据更安全,需要异地备份。
异地备份有多种实现方法,其中我用的是mysqldump 直接备份的数据库。
1、首先写备份脚本,网上有很多,自己百度了。
这里有个点就是要给帐号足够的权限,如selecl,process,view,tigger等。
脚本写好后,手动执行下,脚本成功。
2、放脚本写到linux crontab里。我这里是2小时执行一次。
vim /etc/crontab
其中每个*表示的意义如下
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令
其中特殊字符意义如下:
*(星号) | 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。 |
,(逗号) | 代表不连续的时间。比如"0 1,2,3***命令"就代表在每天凌晨的 1 点 0 分、2 点 0 分、3 点 0 分都执行一次命令。 |
-(中杠) | 代表连续的时间范围。比如"0 3 ** 1-6命令",代表在周一到周六的凌晨 3 点 0 分执行命令。 |
/(正斜线) | 代表每隔多久执行一次。比如"**/2***命令",代表每隔 2小时就执行一次命令。 |
3、查看定时任务执行状态
service crond status
虽然我们单独执行脚本成功了,但放在定时任务中,未必就是成功的。
查了这个原因,我是没有在定时任务的前面 加上用户名 。
完整的命令为 0 */2 * * * root /mnt/sdc/backup/test.sh
还有一个可以查阅crontab的运行状态,centos下用在这个目录 tail -f /var/log/cron ,其他系统请自行查阅。