linux自动备份shell(使用全备份,增量备份策略)
在cron里设置,每周日晚12点执行(每周日全备份,其余时间增量备份)
#vi backup.sh
#!/bin/bash
# define
week=`date "+%u"`
day=`date "+%Y%m%d"`
source=/data/
backup=/backup/
# action
cd $backup
if [ $week -eq 7 ]; then
if [ ! -f "full$day.tar.gz" ]; then
rm -rf snapshot
tar -g snapshot -czvf "full$day.tar.gz" $source
fi
else
if [ ! -f "inc$day.tar.gz" ]; then
tar -g snapshot -czvf "inc$day.tar.gz" $source
fi
fi