Skip to content

Instantly share code, notes, and snippets.

@romejiang
Last active May 20, 2017 14:06
Show Gist options
  • Save romejiang/cecd7063efb09d0066294a7e59e5dcb8 to your computer and use it in GitHub Desktop.
Save romejiang/cecd7063efb09d0066294a7e59e5dcb8 to your computer and use it in GitHub Desktop.

1.新建一个自动备份的脚本:

#!/bin/sh
NAME='sales' # 修改为待备份项目的数据库名
DATE=`date +%Y%m%d%H%M%S`
echo $DATE
# 创建备份的文件夹
DEST='/usr/backups'
if [ ! -d "$DEST" ]; then
    mkdir -p $DEST
fi
cd $DEST

# 备份数据库内容
mysqldump  --protocol=tcp -uroot -pxxxx -hlocalhost -P3306 --hex-blob=true ${NAME} | gzip > $DEST/${NAME}.${DATE}.sql.gz

# 删除7天前的备份内容
find . -name "*.sql.gz" -mtime +7 | xargs rm

将其保存为 /alidata/scripts/db_backup.sh

2.修改定时任务:

sudo crontab -e 进入编辑器后加上下面这句

0 6,18 * * * /root/bin/db_backup.sh >> /usr/backups/backup.log 2>&1

保存退出,今后服务器会在每天早上六点和晚上六点各备份一次数据库。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment