0a1,123
+ 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%3c%3cEND
+ 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
+ @]