脚本说明:

把需要备份的目录或文件写在project.list文件中,一行一个;

脚本通过for循环来读取project.list文件,对每行文件进行tar压缩;

根据备份日期作为文件名;

相关操作都会记录到日志文件中;

自动删除备份时间超过30天的文件。

#!/bin/bash

#author: TangLu

#date: 2015-07-16

#role: backup

##################################################

BAKDIR=/backup

BAKLOGDIR=/backup/log

LOGFILE=/backup/log/bak.`date +"%Y-%m-%d"`.log

##################################################

[ ! -d $BAKDIR ] && mkdir $BAKDIR

[ ! -d $BAKLOGDIR ] && mkdir $BAKLOGDIR

echo "--------------------------------------------------" >> $LOGFILE

echo "!!!BACKUP START!!! at `date +"%Y-%m-%d %H:%M:%S"`" >> $LOGFILE

echo "--------------------------------------------------" >> $LOGFILE

echo " " >> $LOGFILE

cd $BAKDIR

for i in `cat /shell/project.list`

do

BAKFILE=$BAKDIR/$i.`date +"%Y-%m-%d"`.tar.gz

if [ -f $BAKFILE ]

then

echo "backup file $BAKFILE is exist !" >>$LOGFILE

else

tar -zcf $BAKFILE $i > /dev/null 2>&1

echo "backup $i done into $BAKFILE ">> $LOGFILE

echo " " >> $LOGFILE

fi

OLDFILE=$BAKDIR/$i.`date --date="30 days ago" +"%Y-%m-%d"`.tar.gz

if [ -f $OLDFILE ]

then

rm -rf $OLDFILE

echo "Delete old files success!" >> $LOGFILE

fi

done

echo "--------------------------------------------------" >> $LOGFILE

echo "!!!BACKUP END!!! at `date +"%Y-%m-%d %H:%M:%S"`" >> $LOGFILE

echo "--------------------------------------------------" >> $LOGFILE

linux文件备份与删除,【Linux Shell脚本编程】自动备份与删除历史备份脚本相关推荐

  1. python脚本编程实例_面向ArcGIS的Python脚本编程.pdf

    [实例简介] 面向ArcGIS的Python脚本编程,最实用的教程. 面向ArcGIS的Python脚本编程,最实用的教程. 面向ArcGIS的Python脚本编程,最实用的教程. 目录 第一部分Py ...

  2. 第二部分 Linux Shell高级编程技巧——第三章 运行级别脚本介绍

    笔记 #运行级别脚本介绍 #准备工作 #进入目录 cd /home/wgb/shell #建立文件夹 mkdir 0421 #进入目录 cd 0421#运行级别 #运行级别目录 #进入etc目录 [r ...

  3. 《Linux命令行与shell脚本编程大全 第3版》

    第一部分 Linux 命令行 第1章  初识Linux she 1.1   什么是Linux 2 1.1.1 深入探究Linux 内核 3 1.1.2 GNU 工具 6 1.1.3 Linux 桌面环 ...

  4. 《Linux命令行与shell脚本编程大全》笔记一

    第一章 初始 Linux shell Linux内核主要四种功能: 1.系统内存管理 2.软件程序管理 3.硬件设备管理 4.文件系统管理 shell:交互工具. 第三章 基本的bash shell ...

  5. 【2018深信服 醒狮计划】《Linux命令行与Shell脚本编程大全》学习笔记

    2018深信服"醒狮计划"笔记 第3周(5.02-5.13) 课程 必修 选修 基本要求 Shell编程 <Linux命令行与Shell脚本编程大全> <Perl ...

  6. SVG脚本编程简介(转)

    SVG脚本编程简介 本文主要介绍SVG的脚本编程,并分别给出放大.缩小,查询,鼠标事件等实例. 一.            SVG简介 SVG,全称为Scalable Vector Graphics( ...

  7. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  8. linux脚本编程(shell)浅介

    linux脚本编程(shell)浅介 2006-01-10 11:45 27693人阅读 评论(18) 收藏 举报 脚本shelllinux编程bash语言 linux脚本(shell)编程 啊,昨天 ...

  9. Linux Shell脚本编程基础(11)

    实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...

  10. Linux shell脚本编程(二)

    Linux shell脚本编程(二) -------------------------------------------------------------------- 注:如果你对python ...

最新文章

  1. 某大厂JVM常见面试题(二)吐血整理
  2. 今日恐慌与贪婪指数为74 等级转为贪婪
  3. JavaScript专题之跟着 underscore 学节流
  4. 晶体管电路设计学习笔记(一)
  5. 【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part3前端搭建与可视化
  6. 吴军《智能时代》读书笔记
  7. IOS 关闭键盘 退出键盘 的5种方式
  8. 遗传算法求解TSP问题(matlab实现)
  9. 韦东山Linux视频第1期
  10. 攻防世界MISC之掀桌子
  11. No enclosing instance of type TextRunnable is accessible. Must qualify the allocation with an enclo
  12. Mofile下载文件
  13. 十一年的帆软成长史,一群年轻人的事业,不忘初心,坚持做好产品
  14. 局域网怎么同步文件?Samba协议同步文件
  15. Android调用WIFI设置
  16. 深度| 做出什么样的AGV才能卖的好?
  17. 加油,CMSP!写在Bespin Global乔迁之喜
  18. 城市建筑模型UE虚幻引擎加载处理流程
  19. android 三段式加密,国密算法技术安全芯:海信推出全新金盾手机,7月7日预约...
  20. 围观|十二星座的程序员都是这样带娃的?

热门文章

  1. webpack-loader(加载器)
  2. go 语言的web 框架
  3. [xcode]instruments来检验你的app
  4. CSS 魔法:学海无涯,而吾生有涯
  5. MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
  6. Enterprise Library 系列教程
  7. bzoj千题计划240:bzoj3900: 交换茸角
  8. 【面试】iOS 开发面试题(二)
  9. 使用线程池应该注意的问题
  10. Block代码块中使用局部变量注意点