千家信息网

Linux如何定期自动备份脚本

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,Linux如何定期自动备份脚本,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们在网维工作中,常常要备份一些资料,虽然事
千家信息网最后更新 2025年01月25日Linux如何定期自动备份脚本

Linux如何定期自动备份脚本,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

#backup.sh

-- 重要变量名 作用

LogFile 日志文件

SourceDir 需要备份的目录

BakDir 备份至此目录

RetainDay 备份档案文件保留天数

ProjectLst 备份项目文件配置文件

代码:

#!/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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0