关于linux定时任务与shell脚本——实现远程数据库备份

一、常用的命令如下:

1、编辑一个新的crontab任务

    crontab -e

2、查看编写后的crontab任务

    crontab -l

3、重启contab任务服务

    service crond restart

4、查看contab任务状态

    service crond status

5、重新载入配置

    service crond reload

6、关闭服务

    service crond stop

7、启动服务

    service crond start

8、crontab时间格式

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed


二、使用命令实现一个数据库定时备份任务:

1、编写一个数据备份shell脚本(尽量用vi daba_back.sh直接创建,若是在windows上创建后上传到服务器,可能会出现编码不一致问题,解决办法:http://chenzhou123520.iteye.com/blog/1832890)

vi daba_back.sh

脚本内容如下(目的是从两台mysql数据库服务器上备份数据到本地):

这两台数据库服务器需要对备份服务器授权

授权语句:

grant all privileges on *.* to [email protected]  identified by 'xxxxxxxxxxxxx' WITH GRANT OPTION ;

172.29.xx.xx为备份服务器ip

root为备份服务器访问数据库的用户

xxxxxxxxxxxxx为备份服务器访问数据库的密码

脚本如下:

#!/bin/bash
DATE=`date +%Y%m%d_%H%M%S`
BACKPATH1=/usr/local/backDatas/mysql_172.29.xx.xx/
mysqldump -h172.29.xx.xx -uroot -pxxxxxxxx xhs>${BACKPATH1}xhs_db1_${DATE}.sql
BACKPATH2=/usr/local/backDatas/mysql_172.29.xx.xx/
mysqldump -h172.29.xx.xx -uroot -pxxxxxxxx xhs>${BACKPATH2}xhs_db2_${DATE}.sql

2、设置crontab执行任务

crontab -e

编辑如下内容(每天晚上11:25开始备份数据到本地):

25 23 * * * /usr/local/backDatas/data_back.sh

编辑完后可以执行重启crontab服务:

service crond restart

猜你喜欢

转载自blog.csdn.net/ruijiao_ren/article/details/79517086