定时备份数据库shell脚本
今天晚上上线!不让睡觉!
把原来的宝塔面板换掉了.现在完全是命令行操作.
之前挺好的傻瓜化操作.现在得手敲命令行。
但是对我命令行操作 帮助挺大.还抽空学了下shell脚本
下面记录一下 定时备份数据库的脚本
#!/bin/sh
# Database info
DB_USER="table"
DB_PASS="*******"
DB_HOST="127.0.0.1"
DB_NAME="table"
# Others vars
BIN_DIR="/usr/local/mysql/bin" #the mysql bin path
BCK_DIR="/data/mysqlBackup" #the backup file directory
DATE=`date +%s`
if [ ! -d $BCK_DIR ];then
mkdir $BCK_DIR
fi
# 执行备份
$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
# 删除七天前的数据
find $BCK_DIR -name *.sql -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
-mtime +7 7天前的数据
-mmin +60 60分钟前的数据
crontab -e 添加定时脚本
这个是 每分钟执行一次.方便我测试效果
*/1 * * * * /bin/sh /home/huangzhicheng/wwwroot/api/sh/cron_mysql.sh
下面这个是每天凌晨3点执行一次.
00 3 * * * /bin/sh /home/huangzhicheng/wwwroot/api/sh/cron_mysql.sh
遇到的坑! 如果mysqldump没有用绝对路径,可能导出来的数据是空的.
好啦,继续加班了.今晚旁边坐着美女测试同事~
发表评论