天天看点

使用linux shell脚本备份

简单备份 我们先看一个简单但功能强大的归档机制。我们查看一个名为 arc 的简单脚本,该脚本支持从 Linux 的 shell 提示符创建备份快照。

清单 1: arc 的 shell 脚本
#!/bin/sh
   tar czvf $1.$(date +%Y%m%d-%H%M%S).tgz $1
   exit $?
      

arc 脚本接受单个文件或目录名作为参数,创建压缩的归档文件,并将当前日期嵌入到生成的归档文件名中。例如,如果存在一个名为 beoserver 的目录,那么可以调用 arc 脚本并将 beoserver 目录名传递给该脚本来创建压缩的归档文件,比如 beoserver.20040321-014844.tgz。 使用命令

date

嵌入日期和时间戳有助于组织归档文件。日期格式是年、月、日、小时、分钟和秒 —— 但是秒字段的 使用可能有点多余。查阅 date 命令的手册(

man date

)可以了解该命令的其他选项。而且在清单 1 中,选项

-v

(verbose) 被传递给

tar

。该选项指示

tar

显示所有正在归档的文件。如果希望备份过程静默进行,那么请去除选项

-v

清单 2:将 beoserver 目录归档
$ ls
   arc  beoserver
   $ ./arc beoserver
   beoserver/
   beoserver/bookl.dat
   beoserver/beoserver_ab_off
   beoserver/beoserver_ab_on
   $ ls
   arc  beoserver  beoserver.20040321-014844.tgz
个人补充:      
使用cron实现备份      
service crond start启动cron备份程序      
crontab -e编辑备份命令,其实是在/var/spool/cron下,以当前用户名为文档名的文件      
*/10 * * * * tar czf /root/`date +\%y\%m\%d-\%H\%M\%S.tar.gz` -P /root
每10分钟归档压缩/root下的文件,以当前时间不文档名,存放在/root下      

转载于:https://blog.51cto.com/allenyu/162330

继续阅读