linux下web目录文件全备shell脚本
时间:2014-09-03 00:34 来源:linux.it.net.cn 作者:it
一个linux web目录与文件全备份的shell脚本,文件全备脚本,并删除7天以前的文件,linux shell的实例代码。
例子,linux shell脚本实现文件全备份。
代码:
#!/bin/bash
#文件全备脚本
#删除7天以前的文件
#调用方法
#www.leduz.com 编辑整理
#请主意所有路径都为全整目录
#sh filebak.sh 要备份的目标目录 备份文件存放路径 保留文件的天数
#sh filebak.sh /home/wd/wd/wd /home/wd/wd/bakup 7
#sh filebak.sh /home/dd/dd/dd /home/dd/dd/bakup 7
#path
path=$1
backupPath=$2
n=$3
#参数不全
if [ "$path" == "" ] || [ "$backupPath" == "" ] || [ "$n" == "" ]; then
echo "Insufficient arguments"
exit 1
fi
#目标目录不存,退出
if [ ! -d "$path" ]; then
echo "Directory does not exist"
exit 1
fi
#如果存放备份文件的目录不存,新建
if [ ! -d "$backupPath" ]; then
mkdir "$backupPath"
fi
#Time information
#时间
time=`date +"%Y-%m-%d-%H-%M-%S"`
day=`date +"%d"`
month=`date +"%Y-%m"`
weekday=`date +"%u"`
#路径最后一个目录
folderName=`basename $path`
fileName=$folderName$day$time.tar.gz
#如果文件存在,删除
if [ -e "$fileName" ]; then
rm -rf $fileName
fi
cd $path
cd ..
tar -zcf $fileName $folderName
#移动备份文件到备份目录
mv $fileName $backupPath
#删除N天前的数据
find $backupPath -name "$folderName*.gz" -type f -mtime +$n -exec rm {} \;
第二步,设置crontab定时计划任务。
根据需要设置相关备份规则,此处略则部分规则:
#每天1点备份
0 1 * * * cd /opt/backup/database && ./1.sh
#每周一1点备份
0 1 * * 1 cd /opt/backup/database && ./1.sh
#每2小时备份
0 */2 * * * cd /opt/backup/database && ./1.sh
#每2天备份
0 0 */2 * * cd /opt/backup/database && ./1.sh
#每个月5号1点20分备份
20 1 5 * * cd /opt/backup/database && ./1.sh
(责任编辑:IT)
一个linux web目录与文件全备份的shell脚本,文件全备脚本,并删除7天以前的文件,linux shell的实例代码。 例子,linux shell脚本实现文件全备份。
代码:
#!/bin/bash
#path
#参数不全
#目标目录不存,退出
#如果存放备份文件的目录不存,新建
#Time information
#路径最后一个目录
#如果文件存在,删除
cd $path
#移动备份文件到备份目录
#删除N天前的数据
第二步,设置crontab定时计划任务。
#每天1点备份
#每周一1点备份
#每2小时备份
#每2天备份
#每个月5号1点20分备份 (责任编辑:IT) |