编写备份脚本
先写个执行文件备份操作的shell脚本ssd2hdd.sh:
-
#!/bin/sh
-
Now=$(
date
"+%Y%m%d%H%M")
-
tar -cvf /backup.../
$Now.tar.gz /file...
先通过Now=$(date "+%Y%m%d%H%M")获取到当前年月日时分,我这里是用作备份文件名;然后通过tar压缩命令直接将需要备份的文件压缩到备份目录:/backup.../为备份文件存放目录的绝对路径,$Now.tar.gz为备份文件的文件名,/file...为需要做备份的文件目录。
编写定时任务
然后执行sudo crontab -e命令进入到定时任务编写:
我这里设置两个执行备份脚本的定时任务,分别在每天12:00和17:50,脚本路径一定要是绝对路径,设置好后保存退出。
重启下定时任务程序:sudo service cron restart
拓展
当然,我们每天这样定时备份文件会造成存储资源过度浪费,因此,可以丰富下备份脚本功能,清除一些比较时间比较长的备份文件,如下根据我的实际备份情况,每次执行备份后,我会根据文件名差(年月日时分组成的数字差)来判断出最近三次之前备份的文件,然后对最近三次备份之前的文件执行删除操作:
-
#!/bin/sh
-
cd /backup/sdb/doc
-
Now=$(
date
"+%Y%m%d%H%M")
-
diff=10001
-
tar -cvf /backup/sdb/doc/
$Now.tar.gz /data
-
for FILE
in `
ls`
-
do
-
filename=
${FILE%%.*}
-
time_diff=`
expr
$Now -
$filename`
-
if [
$time_diff -gt
$diff ]
-
then
-
rm ./
$FILE
-
fi
-
done