linux定时备份数据库:crontab

linux备份数据首先确保安装了mysqldump

mysqldump -uroot -padmin mydatabasename>/tmp>mydatabasename.sql

测试备份没有问题,进行下面的操作

首先在/opt/mysqlbackup/目录下创建mysqlback_wx_pn_backup.sh文件

vi编写以下内容,并保存

#me:mysqlback_wx_pn_backup.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#备份地址
backupdir=/opt/mysqlbackup
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S `
#需要备份的数据库名称
db_name=wx_pn
#mysql 用户名
db_user=big
#mysql 密码
db_pass=big
#mysqldump命令使用绝对路径
/usr/bin/mysqldump -u$db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除7天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

保存后,使用 

crontab -e  创建定时任务,在下面加上以下内容

0 2 * * * /opt/mysqlbackup/mysqlback_wx_pn_backup.sh >> /opt/mysqlbackup/mysqlback_wx_pn_backup.log

然后service crond restart就生效

如果service crond restart 报错
Redirecting to /bin/systemctl status crond.service

那么systemctl restart crond.service

后面验证并没有备份数据库。排查原因

首先手动执行.sh文件,发现报错,权限不够

-bash: ./mysqlback_wx_pn_backup.sh: Permission denied

于是chmod 777 文件名

再次执行就可以了

查看执行日志

tail -f /var/log/cron.log

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值