Linux自动压缩备份目录文件与恢复

jopen 8年前

首先建立以个空白文档,然后打开编辑成需要的内容,最后保存为*.sh文件

比如我现在Linux 系统 /usr下有个目录soft需要让它每天自动压缩打包到/opt/ftp的目录下,并以当前时间命名

例:写个shell文件 ,把以下保存为backup.sh,记得要给加上运行的权限

#!/bin/sh   date=`date +"%Y%m%d"`   tar -czvf /opt/ftp/soft_$date.tar.gz /usr/soft



定时执行 比如每天早上10点 
则修改/etc/crontab文件 加入下面一句(path就是你backup.sh的路径) 

00 10 * * * root /path/backup.sh > /dev/null 2>&1

又比如每天晚上2点1分运行

把下面一句加到/etc/crontab里就可以了 每晚2点1分执行 path就是backup.sh的路径

01 2 * * * root /path/backup.sh > /dev/null 2>&1

如果只想每天只保留一个备份文件

#!/bin/sh   tar -czvf /opt/ftp/soft.tar.gz /usr/soft

恢复备份,在预设的情况下,我们可以将压缩档将文件恢复到指定目录!以这个范例来说,
#我先将工作目录变换到想要解压到的目录比如 /usr/local/src 底下,则在命令模式下cd到这个目录,然后在运行tar zxvf /opt/soft.tar.gz,则解开的目录会在 /usr/local/src/etc

还有就是备份指定目录,但要排除目录内的某些文件夹,例子 我现在要备份opt目录,但要排除opt目录下的FTP文件夹

tar -czvf /opt/ftp/opt.tar.gz --exclude=/opt/ftp /opt

日期的格式:* * * * *,五个星号分别是,分(0-59) 时(0-23) 天(1-31) 月(1-12) 星期(0-6)0是礼拜天

例子:

00 2 * * * 每天晚上2点运行

01 2 * * * 每天晚上2点1分运行

01 2 29 * * 每个月第29天2点1分运行

01 2 29 10 * 第十个月的第29天2点1分运行

压缩与解压缩要看用什么格式压缩的对应用什么格式解压,比如.gz(有gzip压缩而成),解压方法:gzip -d filename


来自: http://my.oschina.net/u/2250952/blog/517291