说明:天天定时备份网站,并删除7天前的备份html
首先在/home/下新建一个文件夹:/backupmysql
#mkdir /home/backup #用于保存备份文件sql
编写Shell脚本:数据库
#vim backup.shvim
#! /bin/shbash
#! /bin/bash网站
cd /home/backuprest
mkidr `date +%Y-%m%d`日志
dateTime=`date +%Y-%m-%d` #当前系统时间htm
backdescdir=/home/backup/`date +%Y-%m-%d` #备份文件到该路径
bakdata=$dateTime.tar.gz #备份文件名
baklog=$dateTime.log #备份日志
baksrcdir=/var/www/html #须要备份的文件
cd $bakdescdir #进入备份目录
echo “backup start at $dateTime” > $baklog
tar -zcvf $bakdata $baksrcdir $baklog #压缩备份文件及日志
find $bakdescdir -type f -name "*.log" -exec rm {} \; #删除日志文件
find /home/backup/ -maxdepth 1 -type d -mtine +7 -exec rm -rf {} \; #删除七天前的备份文件
:wq #保存,退出
----------------------------------------------------------------------------------------------------------------------------
备份Mysql数据库文件:
脚本内容:
#! /bin/sh
DB_NAME="数据库名称"
DB_USER="用户"
DB_PASS="密码"
BCK_DIR="/home/backup/`date +%Y-%m-%d`"
DATE=`date +%F`
BAK_DATA=$DB_NAME_$DATE.sql
mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME |gzip > $BCK_DIR/$BAK_DATA
:wq
其次修改crontab内容
#crontab -e
01 0 * * * /root/file_backup.sh
说明:前五个字段分别表示分钟、小时、日、月、星期,后面为脚本所在目录
最后重启crontab服务
#service crond restart