centOS 定时器数据库备份

1.在/home/backup目录下创建一个mysqlBak.sh的文件

2.往mysqlBak.sh文件中输入

DB_NAME="myfilm"

DB_USER="root"

DB_PASS="数据库密码"

# Others vars

BIN_DIR="/usr/local/mysql/bin"

BCK_DIR="/home/backup/fivefilm"

DATE=`date +%F`

# TODO

$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip >$BCK_DIR/db_$DATE.gz

#只备份30天内的数据,删除超出30的备份

find $BCK_DIR -name "*.gz" -type f -mtime +30 -exec rm -rf {} \; > /dev/null 2>&1

3.设置访问权限

chmod -R 777 /home/backup/mysqlBak.sh

4.linux应该都有crontab,没有的话可以安装一下:

yum install  vixie-cron

yum install  crontabs

vixie-cron软件包是cron的主程序;

crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

5.安装完以后开启crontab服务

service crond start //启动服务

service crond stop //关闭服务

service crond restart //重启服务

service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

加入开机自动启动:

chkconfig –level 35 crond on

也可以用设置开机自动启动crond服务:

[root@CentOS ~]# chkconfig crond on

6.设置定时器

vi /etc/crontab

在末尾插入

0 5 * * * root /home/backup/mysqlBak.sh

7.重启crond

service crond restart //重启服务

8.恢复数据库

gzip -c /home/backup/fivefilm/db_xxxx.gz > /home/backup/fivefilm/db_xxxx.sql

mysql -uroot -pxxxxxxx --database test_db < /home/backup/fivefilm/db_xxx.sql

你可能感兴趣的:(centOS 定时器数据库备份)