(Veraltet; neuere Variante siehe hier: WikiBackUp)
Problembeschreibung siehe Archiv. Derzeit ziehe ich täglich ein Back-Up dieses Wikis hier, bewahre die täglichen Back-Ups der letzten zehn Tage auf, frühere Backups in zehn Zehn-Tage-Abständen, noch frühere in zehn Hundert-Tage-Abständen, usw. Hier das Shell-Skript, das ich dafür auf meinem Heimserver täglich per Cronjob aufrufe:
cd /media/PUBLIC/plomlompom-wiki.d-backup/ if [ -f daycount ] then daycount=`cat daycount` else daycount=0 fi if [ `expr $daycount %25 1000` -eq 0 ] then rm -rf 10-onethousandday-steps-ago/ mv 9-onethousandday-steps-ago/ 10-onethousandday-steps-ago/ rm -rf 9-onethousandday-steps-ago/ mv 8-onethousandday-steps-ago/ 9-onethousandday-steps-ago/ rm -rf 8-onethousandday-steps-ago/ mv 7-onethousandday-steps-ago/ 8-onethousandday-steps-ago/ rm -rf 7-onethousandday-steps-ago/ mv 6-onethousandday-steps-ago/ 7-onethousandday-steps-ago/ rm -rf 6-onethousandday-steps-ago/ mv 5-onethousandday-steps-ago/ 6-onethousandday-steps-ago/ rm -rf 5-onethousandday-steps-ago/ mv 4-onethousandday-steps-ago/ 5-onethousandday-steps-ago/ rm -rf 4-onethousandday-steps-ago/ mv 3-onethousandday-steps-ago/ 4-onethousandday-steps-ago/ rm -rf 3-onethousandday-steps-ago/ mv 2-onethousandday-steps-ago/ 3-onethousandday-steps-ago/ rm -rf 2-onethousandday-steps-ago/ mv 1-onethousandday-steps-ago/ 2-onethousandday-steps-ago/ rm -rf 1-onethousandday-steps-earlier/ mv 10-onehundredday-steps-earlier/ 1-onethousandday-steps-earlier/ fi if [ `expr $daycount %25 100` -eq 0 ] then rm -rf 10-onehundredday-steps-earlier/ mv 9-onehundredday-steps-earlier/ 10-onehundredday-steps-earlier/ rm -rf 10-onehundredday-steps-earlier/ mv 8-onehundredday-steps-earlier/ 9-onehundredday-steps-earlier/ rm -rf 8-onehundredday-steps-earlier/ mv 7-onehundredday-steps-earlier/ 8-onehundredday-steps-earlier/ rm -rf 7-onehundredday-steps-earlier/ mv 6-onehundredday-steps-earlier/ 7-onehundredday-steps-earlier/ rm -rf 6-onehundredday-steps-earlier/ mv 5-onehundredday-steps-earlier/ 6-onehundredday-steps-earlier/ rm -rf 5-onehundredday-steps-earlier/ mv 4-onehundredday-steps-earlier/ 5-onehundredday-steps-earlier/ rm -rf 4-onehundredday-steps-earlier/ mv 3-onehundredday-steps-earlier/ 4-onehundredday-steps-earlier/ rm -rf 3-onehundredday-steps-earlier/ mv 2-onehundredday-steps-earlier/ 3-onehundredday-steps-earlier/ rm -rf 2-onehundredday-steps-earlier/ mv 1-onehundredday-steps-earlier/ 2-onehundredday-steps-earlier/ rm -rf 1-onehundredday-steps-earlier/ mv 10-tenday-steps-earlier/ 1-onehundredday-steps-earlier/ fi if [ `expr $daycount %25 10` -eq 0 ] then rm -rf 10-tenday-steps-earlier/ mv 9-tenday-steps-earlier/ 10-tenday-steps-earlier/ rm -rf 9-tenday-steps-earlier/ mv 8-tenday-steps-earlier/ 9-tenday-steps-earlier/ rm -rf 8-tenday-steps-earlier/ mv 7-tenday-steps-earlier/ 8-tenday-steps-earlier/ rm -rf 7-tenday-steps-earlier/ mv 6-tenday-steps-earlier/ 7-tenday-steps-earlier/ rm -rf 6-tenday-steps-earlier/ mv 5-tenday-steps-earlier/ 6-tenday-steps-earlier/ rm -rf 5-tenday-steps-earlier/ mv 4-tenday-steps-earlier/ 5-tenday-steps-earlier/ rm -rf 4-tenday-steps-earlier/ mv 3-tenday-steps-earlier/ 4-tenday-steps-earlier/ rm -rf 3-tenday-steps-earlier/ mv 2-tenday-steps-earlier/ 3-tenday-steps-earlier/ rm -rf 2-tenday-steps-earlier/ mv 1-tenday-steps-earlier/ 2-tenday-steps-earlier/ rm -rf 1-tenday-steps-earlier/ mv 10-oneday-steps-earlier/ 1-tenday-steps-earlier/ fi rm -rf 10-oneday-steps-earlier/ mv 9-oneday-steps-earlier/ 10-oneday-steps-earlier/ rm -rf 9-oneday-steps-earlier/ mv 8-oneday-steps-earlier/ 9-oneday-steps-earlier/ rm -rf 8-oneday-steps-earlier/ mv 7-oneday-steps-earlier/ 8-oneday-steps-earlier/ rm -rf 7-oneday-steps-earlier/ mv 6-oneday-steps-earlier/ 7-oneday-steps-earlier/ rm -rf 6-oneday-steps-earlier/ mv 5-oneday-steps-earlier/ 6-oneday-steps-earlier/ rm -rf 5-oneday-steps-earlier/ mv 4-oneday-steps-earlier/ 5-oneday-steps-earlier/ rm -rf 4-oneday-steps-earlier/ mv 3-oneday-steps-earlier/ 4-oneday-steps-earlier/ rm -rf 3-oneday-steps-earlier/ mv 2-oneday-steps-earlier/ 3-oneday-steps-earlier/ rm -rf 2-oneday-steps-earlier/ mv 1-oneday-steps-earlier/ 2-oneday-steps-earlier/ rm -rf 1-oneday-steps-earlier/ mv today/ 1-oneday-steps-earlier/ mkdir today/ cd today/ ftp -inv ftp.plomlompom.de<<END user USERNAME PASSWORT cd www.plomlompom.de/wiki/wiki.d/ mget * mget .* END echo `date` > plomlompom-wiki.d-backup-TIMESTAMP cd .. daycount=`expr $daycount + 1` echo $daycount > daycount
Verbesserungsvorschläge willkommen; wie man sicher sieht, bin ich kein sehr erfahrener Shell-Skripter, und bestimmt ließe sich das alles noch etwas eleganter lösen.
Hier noch der dazugehörige cronjob:
0 12 * * * sh /media/PUBLIC/plomlompom-wiki.d-backup/plomlompom-wiki.d-backup.sh
Keine Kommentare zu dieser Seite.
Kommentar-Schreiben derzeit nicht möglich: Kein Captcha gesetzt.