(转)rsync数据备份方案

rsync数据备份方案

原文:http://blog.51cto.com/irow10/1826458bash

最近整理了下公司的数据备份状况。如下是部分操做的过程运维

一、rsync数据备份,具体备份过程就不详细介绍。数据都备份在/bakup目录下spa

二、删除过时数据及空目录3d

公司的备份数据量比较大,必须及时清除过时数据。code

1
2
3
4
5
6
7
echo  "日期:$(date +%Y-%m-%d);如下是以过时31天的文件:"  /var/log/delete .log
find  /bakup  -mtime +31 -name  "*"  >>  /var/log/delete .log
find  /bakup  -mtime +31  -name  "*"  - type  f  - exec  rm  -f {} \;
#删除bakup目录下的全部空目录(会逐级递删直到不存在任何空目录)
echo  "日期:$(date +%Y-%m-%d);如下是须要删除的空目录:"  >>  /var/log/delete .log
find  /bakup  - type  d -empty >>  /var/log/delete .log
find  /bakup  -depth  -empty - type  d - exec  rm  -r {}  ';'

三、使用tree命令打印备份目录的结果blog

1
/usr/bin/tree  -shtN  /bakup/data  >>  /var/index .txt

当备份目录中存在多份备份数据,打印出来的数据将大量重复。咱们只想看到最新的数据排序

1
2
3
cd  /bakup/data
day=` ls  -lt| awk  'NR==2' | awk  '{print $9}' `
/usr/bin/tree  -shtN  /bakup/data/ $day >>  /var/index .txt

tree命令简单介绍下ci

参数get

-a:显示全部文件和目录;string

-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;

-C:在文件和目录清单加上色彩,便于区分各类类型;

-d:先是目录名称而非内容; -D:列出文件或目录的更改时间; 

-f:在每一个文件或目录以前,显示完整的相对路径名称; 

-F:在执行文件,目录,Socket,符号链接,管道名称名称,各自加上"*","/","@","|"号; 

-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码; 

-i:不以阶梯状列出文件和目录名称; 

-l:<范本样式> 不显示符号范本样式的文件或目录名称; 

-l:如遇到性质为符号链接的目录,直接列出该链接所指向的原始目录; 

-n:不在文件和目录清单加上色彩; 

-N:直接列出文件和目录名称,包括控制字符; 

-p:列出权限标示;

-P:<范本样式> 只显示符合范本样式的文件和目录名称; 

-q:用“?”号取代控制字符,列出文件和目录名称; 

-s:列出文件和目录大小; 

-t:用文件和目录的更改时间排序; 

-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码; 

-x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另外一个文件系统上,则将该目录予以排除在寻找范围外。

 

这条命令中打印出来的树结构包含了目录和文件的大小

 

1
/usr/bin/tree  -shtN  /bakup/data/ $day >>  /var/index .txt

用这条语句把目录的大小[4.0K]替换掉,出来的结果就是只显示文件大小的树结构。

1
/bin/sed   -i  's/\[4\.0K\]  //g'  /var/index .txt

你能够在页面上显示出来,也能够定时邮件发送给运维人员!

1
/bin/mail  -s  "备份数据"  "****@qq.com"  /var/index .txt

wKioL1eHXzziBpMVAAB4lWr2BqE561.jpg

相关文章
相关标签/搜索