网站地图    收藏   

主页 > 系统 > linux系统 >

实用:Linux定期自动备份脚本 - linux教程

来源:自学PHP网    时间:2014-11-28 23:06 作者: 阅读:

[导读] 我们在网维工作中,常常要备份一些资料,虽然事情不复杂,但是很费时间的,我在这里分享一个 Linux 备份脚本,轻松自如的实现自动备份,并且可...

实用:Linux定期自动备份脚本

我们在网维工作中,常常要备份一些资料,虽然事情不复杂,但是很费时间的,我在这里分享一个 Linux 备份脚本,轻松自如的实现自动备份,并且可以保留N天备份的档案,这个脚本分为两个文件,一个是执行文件backup.sh,另一个是备份项目文件project.lst。

#backup.sh

-- 重要变量名 作用

LogFile 日志文件

SourceDir 需要备份的目录

BakDir 备份至此目录

RetainDay 备份档案文件保留天数

ProjectLst 备份项目文件配置文件

代码如下:

  1. #!/bin/bash#author: InBi#date: 2011-07-28#role: backup files periodically.#website: http://www.itwhy.org/2011/07-28/707.html##################################################LogFile=/backup/log/`date +"%Y-%m"`.logDATE=`date +"%Y-%m-%d"`SourceDir=/var/RDfileBakDir=/backupRetainDay=20ProjectLst=/backup/project.lst##################################################echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" > $LogFileecho "--------------------------------------------------" >> $LogFilecd $BakDirPROJECTLIST=`cat $ProjectLst`for Project in $PROJECTLISTdoProjectData=$SourceDir/$ProjectDestDir=$BakDir/$ProjectPackFile=$DATE.$Project.tgzif [ -f $BakDir/$PackFile ]thenecho "backup file have exist !" >>$LogFileelsecp -RHpf $ProjectData $DestDir > /dev/nulltar -zcvf $PackFile $Project > /dev/nullecho "backup $Project done into $PackFile ">>$LogFilerm -rf $ProjectfiOldFile="$BakDir/"$(date --date="$RetainDay days ago" +"%Y-%m-%d").$Project.tgzif [ -f $OldFile ]thenrm -f $OldFile > /dev/nullecho "[$OldFile],Delete Old File Success!" >> $LogFilefiecho " " >> $LogFiledoneecho "--------------------------------------------------" >> $LogFileecho "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFileecho " " >> $LogFileexit 0 

# project.lst:这个文件比较好理解,就是一个text文件,它的每一行表示一个项目,也就是你需要备份的目录下面的文件或目录。

onu_armonu_voiponu_wifi5xxx7xxx8xxxnms

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论