Linux 定期自动备份脚本

标签: 技巧 备份 | 发表时间:2011-08-05 08:49 | 作者:ITwhy jinn
出处:http://wowubuntu.com

我们在网维工作中,常常要备份一些资料,虽然事情不复杂,但是很费时间的,我在这里分享一个 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"`.log
DATE=`date +"%Y-%m-%d"`
SourceDir=/var/RDfile
BakDir=/backup
RetainDay=20
ProjectLst=/backup/project.lst
##################################################
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" > $LogFile
echo "--------------------------------------------------" >> $LogFile
cd $BakDir
PROJECTLIST=`cat $ProjectLst`
for Project in $PROJECTLIST
do
	ProjectData=$SourceDir/$Project
	DestDir=$BakDir/$Project
	PackFile=$DATE.$Project.tgz
	if [ -f $BakDir/$PackFile ]
	then
		echo "backup file have exist !" >>$LogFile
	else
		cp -RHpf $ProjectData $DestDir > /dev/null
		tar -zcvf $PackFile $Project > /dev/null
		echo "backup $Project done into $PackFile ">>$LogFile
		rm -rf $Project
	fi
	OldFile="$BakDir/"$(date --date="$RetainDay days ago" +"%Y-%m-%d").$Project.tgz
	if [ -f $OldFile ]
	then
		rm -f $OldFile > /dev/null
		echo "[$OldFile],Delete Old File Success!" >> $LogFile
	fi
	echo " " >> $LogFile
done
echo "--------------------------------------------------" >> $LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
echo " " >> $LogFile
exit 0

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

onu_arm
onu_voip
onu_wifi
5xxx
7xxx
8xxx
nms
# 本文采用CC协议进行授权,转载本文请注明本文链接。/ 8 条留言
-
Twitter / Buzz / 微博 / 问答 / 投稿 / 加入我们 wow0slx6bcs721xo1udcc
- 高性价比 Ubuntu VPS / 本站架设于 PhotonVPS / 定制 Ubuntu T-Shirt
相关文章:
Back In Time: 简单易用的备份工具
Ubuntu 上通过命令行来备份及恢复安装过的软件
用 Ubuntu 10.10 构建 Time Machine 备份服务器
LuckyBackup: Linux 上功能强大的备份同步工具
Meta-Backup :备份安装过的程序和 PPA
无觅

相关 [linux 备份 脚本] 推荐:

Linux 定期自动备份脚本

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

Linux ORCLE数据库增量备份脚本(转载)

- - 数据库 - ITeye博客
1.通过使用exp和imp命令实现数据库导出和导入. 用户模式: 导出(导入)用户所有对象以及对象中的数据;. 表模式: 导出(导入)用户所有表或者指定的表;. 整个数据库: 导出(导入)数据库中所有对象. b.导出数据库定义而不导出数据. b.数据库结构存在时,只导入数据. 2.每周进行数据库备份,以防数据库被意外破坏后恢复数据.

RMAN 备份脚本

- - CSDN博客数据库推荐文章
RMAN冷备份、一致性备份脚本. RMAN热备份、非一致性备份脚本. rman名称不允许重复,%U肯定不重复. %D 位于该月中的第几天 (DD). %M 位于该年中的第几月 (MM). %F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,. %d 数据库名称其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列.

Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

- - CSDN博客数据库推荐文章
1、备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.tar.gz的压缩文件格式(2012_06_30是指备份执行时当天的日期),最后只保留最近7天的备份. 2、上传/home/mysql_data里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份.

Linux下自动FTP脚本

- - ITeye博客
前面写了一个Windows下自动FTP的脚本:. 今天新增Linux下的简单脚本,还待优化. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Linux 安装 MySQL / MySQL 主从备份

- - BlogJava-首页技术区
假定所有安装包均在 /share目录,安装目录为 /opt !!. ========================= 安装 MySQL =========================. $ vi /opt/mysql/my.cnf (参考下面配置). $ vi /etc/rc.d/init.d/mysql (参考下面配置).

linux 定期自动备份mysql的shell

- - OurMySQL
刚才有个玩家在站上玩游戏,提醒了我要及时备份数据啊,万一哪天服务器挂了把他们的数据丢了,我可就是罪人了. 一直打算放个自动备份的shell,都没有放. 安全起见,直接用Root执行的:. 以下是自动自动备份shell,只保留最新5天. AutoMySQLBackup — 轻量级MySQL备份方案. LINUX/win2003下mysql怎么定期自动备份数据库.

编写 Linux 桌面脚本,第 2 部分: 编写 Nautilus 脚本

- ripwu - IBM developerWorks 中国 : Linux : Articles,Tutorials
本系列文章探讨了如何使用 Python 为 GNOME 桌面、screenlets 架构以及 Nautilus 创建脚本,来交付高生产能力的环境. 桌面脚本实现拖放功能,以及快速访问常用信息与服务的功能. 在这一部分中,将学习如何使用 Python 来增加功能,从而实现对桌面 Nautilus 的扩展.

oracle rman自动备份脚本

- - CSDN博客推荐文章
作者:magerguo 发表于2012-9-9 10:30:33 原文链接. 阅读:0 评论:0 查看评论.

每天自动备份mysql脚本

- - CSDN博客数据库推荐文章
在etc中加入如下内容,让其自动执行任务. 以上两个 00    00    *    *    *  为每天的凌晨自动执行脚本. d: 一星期内的天(0~6,0为星期天). 每五分钟执行    */5 * * * *. 每小时执行      0 * * * *. 每天执行        0 0 * * *.