Linux自动备份目录,Mysql文件

说明:每天定时备份网站,并删除7天前的备份

首先在/home/下新建一个文件夹:/backup

  #mkdir /home/backup     #用于保存备份文件

编写Shell脚本:

  #vim backup.sh

#! /bin/sh

#! /bin/bash

cd /home/backup

mkidr `date +%Y-%m%d`

dateTime=`date +%Y-%m-%d`   #当前系统时间

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

posted @ 2017-06-19 14:13  转角处  阅读(2614)  评论(0编辑  收藏  举报