Linux服务器通过crontab自动备份数据库

Linux / 65人浏览 / 0人评论

创建shell脚本

touch XXX

添加可执行权限

chmod u+x XXX.sh

编写shell脚本

#!/bin/bash
mysqldump -h127.0.0.1  -uusername -ppassword databasename | gzip > /data/sqlbak/databasename$(date +%Y%m%d_%H%M%S).sql.gz

如果表中有字段类型为:blob,则导出会出现乱码。
添加--hex-blob解决,举例:

mysqldump -uroot -p test  --hex-blob > /test.sql
编写完成后先跑一边,查看是否报错
./xxx.sh  或者  sh xxx.sh

检测是否安装crontab

执行 crontab 命令如果报 command not found,就表明没有安装

# crontab
-bash: crontab: command not found

安装

yum install -y vixie-cron

确认是否安装成功

crontab -l

查看是否开机启动

chkconfig --list crond

安装完成之后,添加计划任务

crontab -e
这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:
0 2 * * * /XXX/XXX/XXX.sh
意思每天凌晨2点执行一次
如果任务执行失败,可以通过以下命令查询
tail -f /var/log/cron

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我