cron定时备份mysql数据库
2023-02-22 本文已影响0人
Jackson_Z
直接上脚本
#!/bin/sh
# /usr/local/bin/mysqldump -hhost -Pport -uuser -p'pwd' db | gzip > /Users/dh/Downloads/qqy_bk/qqy_$(date +%Y%m%d_%H%M%S).sql.gz
# /usr/local/bin/mysqldump -hhost -Pport qqy > /Users/dh/Downloads/qqy_bk/qqy_$(date +%Y%m%d_%H%M%S).sql
/usr/local/bin/mysqldump -hhost -Pport qqy | gzip > /Users/dh/Downloads/qqy_bk/qqy_$(date +%Y%m%d_%H%M).sql.gz
# 删除一天前的文件
find /Users/dh/Downloads/qqy_bk/ -mtime +1 -type f -name "*.gz" -exec rm -rf {} \;
指定账户密码的话会提示mysqldump: [Warning] Using a password on the command line interface can be insecure.
,脚本还是会继续执行,如果不想这个提示的话,可以在mysql
配置文件.my.cnf
加如下代码
[mysqldump]
user=user
password=pwd
特别说明: 一定要写全路径
添加定时任务
corntab -e
# 每隔30分钟备份一次
*/30 * * * * /Users/dh/Downloads/qqybk.sh
执行日志可在var/log/corn.log
查看,没有的话可在var/mail/dh
查看待发邮件,里面有执行失败的原因
From dh@dhdeMac-Studio.local Thu Feb 23 10:23:10 2023
Return-Path: <dh@dhdeMac-Studio.local>
X-Original-To: dh
Delivered-To: dh@dhdeMac-Studio.local
Received: by dhdeMac-Studio.local (Postfix, from userid 501)
id A63****BF; Thu, 23 Feb 2023 10:23:00 +0800 (CST)
From: dh@dhdeMac-Studio.local (Cron Daemon)
To: dh@dhdeMac-Studio.local
Subject: Cron <dh@dhdeMac-Studio> /Users/dh/Downloads/qqybk.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=dh>
X-Cron-Env: <USER=dh>
Message-Id: <20230223022300.A63****BF@dhdeMac-Studio.local>
Date: Thu, 23 Feb 2023 10:23:00 +0800 (CST)
/bin/sh: /Users/dh/Downloads/qqybk.sh: Operation not permitted
如果Mac
电脑执行报错Operation not permitted
,需要为/usr/sbin/cron
添加完全磁盘访问权限
有些特殊符号要添加转义,如 * * * * * echo "$(date +\%Y\%m\%d_\%H\%M\%M)" >> /Users/dh/Downloads/date.txt
参考:
https://blog.humh.cn/?p=947
http://events.jianshu.io/p/fa179bfbf8b4
https://blog.csdn.net/weixin_41769796/article/details/119211060