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