[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lokales Hardlink Backup
[Thread Prev] | [Thread Next]
- Subject: Re: lokales Hardlink Backup
- From: Werner Holtfreter <Holtfreter@xxxxxx>
- Date: Wed, 12 Oct 2011 20:51:11 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Am Mittwoch, 12.10.2011 09:32:15 schrieb Thomas Stiefel: > Am 12.10.2011 02:09, schrieb Werner Holtfreter: > > vielleicht findet ja jemand mein Script nuetzlich, das jede > > Stunde einen Schnappschuss von /home im gleichen Dateisystem > > platzsparend mit Hardlinks speichert. > > Dafuer gibt es eigentlich ein fertiges Programm, das dies alles > und ressourcenschonend mit rsync erledigt: rsyncbackup. > Ich will dir ja nicht zu nahe treten, aber rsyncbackup ist sicher > einiges effektiver und ressourcenschonender als dein Script. Ich habe die manpage mal durchgesehen, ob rsync ueberhaupt Quelle und Ziel mit Hardlinks verbinden kann (falls sie im gleichen Dateisystem liegen, was gegeben ist). Fehlanzeige, rsync kann nur Hardlink- Beziehungen innerhalb Quelle identisch aufs Ziel uebernehmen. So jedenfalls verstehe ich das. Der Geschwindigkeitstest im Anlegen oder auch nur Ergaenzen von Hardlinks zwischen cp und rsync faellt also aus. Dass rsync beim aktualisieren von Dateien (statt Links) schneller ist, wurde nie bestritten. LEIDER LIEGT MEINEM SKRIPT EIN FUNDAMENTALER DENKFEHLER ZU GRUNDE: Zwecks Platzersparnis kopiert es ja keine Dateien, sondern legt nur Hardlinks an. Werden Dateien geloescht, verringert sich nur der Linkzaehler, die Datei bleibt noch erhalten. Wird sie jedoch geaendert, aendert sich (natuerlich) auch das, was ueber die gesicherten Hardlinks aufgerufen werden kann - es ist ja ein und dieselbe Datei! DAS SKRIPT IST WERTLOS. > > Kann man das drei mal eingefuegte "nice -n 19 ionice -c 3" > > irgendwo zentral anordnen, so dass es fuer groessere Teile oder > > fuer das ganze Script gilt (abgesehen davon, es beim Aufruf > > anzugeben, was wohl auch gehen sollte)? > > Klar geht das. Einfach am Anfang des Scripts dss Ganze als > Parameter setzen und spaeter nur den Parameter. Also ungefaehr so: > > PERF="nice -n 19 ionice -c 3" > > while [ $i -ge 2 ] > do > $PERF mv backup.$[i-1] backup.$i > i=$[i-1] > done Ja, ich meinte aber, ob man nice vielleicht vor while oder do setzen kann oder vor noch zu setzende Klammern, damit der Klammerinhalt wunschgemaess priorisiert wird. > > Das Script wird beim booten gestartet. Die Echomeldungen > > erscheinen in der Konsole zunaechst ganz normal linksbuendig. > > Nach dem Hochfahren gibt es nach jedem "echo" nur noch einen > > Zeilenwechsel aber keinen Ruecklauf mehr, das sieht dann so > > aus: > > > > jksjafsaklfj jklsjdf skjksdl > > > > jkldsj skdl jkldsjf jdsklfj > > > > Wie kommt das und wie kann man das verbessern? > > Versuche mal folgendes: > > echo "$(date +%F' '%T): LOKAL backup.$i in backup.delete schieben" > anstatt > echo $(date -I;date +%T)" LOKAL backup.$i in backup.delete schieben" Das aendert leider nichts am Ergebnis. Loesung wird weiter gesucht. -- Viele Gruesse Werner Holtfreter -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/