前言:
眼前咱们对“mysql自动备份脚本”大致比较关怀,大家都想要分析一些“mysql自动备份脚本”的相关内容。那么小编同时在网摘上网罗了一些对于“mysql自动备份脚本””的相关内容,希望兄弟们能喜欢,朋友们一起来了解一下吧!#!/bin/bash
#网站名称
WEB_NAME="website"
#数据库信息 database info
DB_NAME="webdb"
DB_USER="user"
DB_PASS="password"
#备份文件存放目录
BACKUP_DIR=/home/backup
#格式化一下日期,备份文件时用日期来做文件名的
DATE=`date +%F`
# Others vars
BIN_DIR="/usr/bin/"
BCK_DIR="/home/backup"
# TODO 备份数据库
if [ -f ${BCK_DIR}/${DATE}_DB_${WEB_NAME}_${DB_NAME}.gz ]; then
echo ${DATE}\'s database backup file is existing
else
${BIN_DIR}/mysqldump -u${DB_USER} -p${DB_PASS} --single-transaction --quick ${DB_NAME} | gzip > ${BCK_DIR}/${DATE}_DB_${WEB_NAME}_${DB_NAME}.gz
fi
#每周一完整备份网站目录,WEEKDAY数字1是周一
WEEKDAY=`date +%w`
if [ $WEEKDAY -eq 1 ];
then
if [ -f ${BCK_DIR}/${DATE}_Webapp_${WEB_NAME}.tar.gz ]; then
echo ${DATE}\'s webapp backup file is existing
else
tar zcvf ${BCK_DIR}/${DATE}_Webapp_${WEB_NAME}.tar.gz /var/www/html/
fi
fi
#每日备份网站
YEAR=`date +%Y`
MONTH=`date +%m`
if [ -f ${BCK_DIR}/${DATE}_Webapp_${WEB_NAME}_uploadfile_${YEAR}${MONTH}.tar.gz]; then
echo ${DATE}\'s webapp UserFiles backup file is existing
else
tar zcvf ${BCK_DIR}/${DATE}_Webapp_${WEB_NAME}_uploadfile_${YEAR}${MONTH}.tar.gz /var/www/html/uploadfile
fi
#复制备份文件到nfs服务器
cd ${BCK_DIR}
cp ${DATE}* /nfs/${WEB_NAME}
#删除超过10天的旧备份文件
OLDFILE="10"
find -name '*${WEB_NAME}*' -mtime +${OLDFILE} -exec rm -f {} \;
给文件运行权限
chmod +x /root/bin/backup.sh
然后使用将此脚本加到 /etc/crontab 定时任务中:
crontab -euroot
添加如下一行:
23 1 * * * /root/bin/backup.sh
#minute: 表示分钟,可以是从0到59之间的任何整数。
#hour:表示小时,可以是从0到23之间的任何整数。
#day:表示日期,可以是从1到31之间的任何整数。
#month:表示月份,可以是从1到12之间的任何整数。
#week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
标签: #mysql自动备份脚本