即时编写更多bash备份脚本,但有一点问题。bash脚本每天运行但不是每个月的第一个
在每个月的第一天我运行server1.sh来做一个完整的备份。 我每隔一天运行一次server2.sh,查看server1备份并根据此完整备份执行增量备份。
多数民众赞成在所有伟大的。
我的第一个问题是我如何告诉server2.sh不在每个月的第一天运行,因为server1.sh将在今天运行。
使用crontab运行这些脚本。
例如cron的
- 0 1 * * server1.sh
- 2 * * * server2.sh
到目前为止,我已经使用,但如果它没有完全工作还没有这个脚本
#!/bin/bash
LinkDest=/home/backup/website/full
r_date=$(date "+%d-%m-%y")
f_date=$(date +%F)
c_date=$(date +%d)
servers=("123.123.78.90" "123.123.78.91" "123.123.78.92" "123.123.78.93" "123.123.78.94" "123.123.78.95" "cluster")
if [ $c_date -eq 01 ]
then
echo "Backup Skipped 1st of Month"
exit 0
else
for j in "${servers[@]}"
do
echo "server:/data/backup/$j /home/backup/website/$j"
rsync -avz --link-dest=$LinkDest [email protected]:/data/backup/"$j" /home/backup/website/$f_date --bwlimit=10000 --log-file=/logs/rsync_"$j"_"$r_date".log
fi
done
如果您颠倒“fi”和“done”线,它可能会更好一点。 –
布鲁斯。那工作的一种享受感谢 – Kevin