即時編寫更多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