51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1794|回复: 2
打印 上一主题 下一主题

linuxweb目录文件全备脚本本

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-8-26 09:49:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#!/bin/bash
#文件全备脚本
#删除7天以前的文件
#调用方法
#yxy
#anybooks@qq.com
#2014-08-20
#请主意所有路径都为全整目录
#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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2014-8-27 01:12:25 | 只看该作者
大家顶啊,这么好的帖子,楼主辛苦了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2014-8-27 08:54:16 | 只看该作者
哈哈~~~我喜欢,狂顶!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-6 11:14 , Processed in 0.172234 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表