Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: rsync & crontab configuratie  (gelezen 1263 keer)

rsync & crontab configuratie
« Gepost op: 2011/11/13, 00:19:10 »
Hoi, m'n eerste postje hier :)

Ik heb Ubuntu 11.10 geïnstalleerd en heb mijn cron geconfigureerd om elk uur een rsync (een backup) te draaien naar een externe schijf die gemount wordt op /media/systembackup

De regel die ik gebruik in cron is dan ook eenvoudig:

0 * * * * /usr/bin/rsync -a /home/ /media/systembackup
Mijn vraag gaat over een verdere verfijning van deze basic backup config. Dit is een laptop, dus ik heb de externe harde schijf niet permanent ingeplugd. Nu trekt cron zich daar natuurlijk niks van aan en draait het elk uur de rsync. Als het daarbij geen /media/systembackup vind, dan maakt hij die doodleuk aan en wordt de backup weggeschreven op m'n interne schijf... Dat is dus niet de bedoeling :)

Wat ik dus graag wil bereiken is dat cron enkel de backup gaat draaien als de schijf staat ingeplugd. Totnogtoe zet ik een # voor de cron regel om hem uit te zetten als de schijf is ontkoppeld, maar ik hoop dat dat eigenlijk niet hoeft en dat het makkelijker automatisch kan.

Heeft iemand een suggestie?

Re: rsync & crontab configuratie
« Reactie #1 Gepost op: 2011/11/13, 00:50:58 »
zou moeten werken
0 * * * * grep '/media/systembackup' /etc/mtab && /usr/bin/rsync -a /home/ /media/systembackup
URD - http://www.urdland.com - Usenet Resource Downloader

Re: rsync & crontab configuratie
« Reactie #2 Gepost op: 2011/11/13, 00:55:33 »
Je zou de opdracht door een shell script kunnen laten doen en in dat shell script eerst laten controleren of de externe hdd wel is aangekoppeld.

Verder zijn er programma's waar dit allemaal al in zit (bijv. 'Back in time').
Hier zitten dan ook nog allerlei andere leuke mogelijkheden.

Re: rsync & crontab configuratie
« Reactie #3 Gepost op: 2011/11/13, 00:58:45 »
zou moeten werken
0 * * * * grep '/media/systembackup' /etc/mtab && /usr/bin/rsync -a /home/ /media/systembackup
Ik ga dat meteen eens testen. Maar is het niet zo dat beide commando's sowieso worden uitgevoerd, ook al vind hij niks bij de grep?

Re: rsync & crontab configuratie
« Reactie #4 Gepost op: 2011/11/13, 01:05:40 »
die && zorgt ervoor dat  de rsync alleen wordt uitgevoerd als de grep 0 oplevert, wat zo is als ie iets vind, 1 bij niets vinden
URD - http://www.urdland.com - Usenet Resource Downloader

Re: rsync & crontab configuratie
« Reactie #5 Gepost op: 2011/11/13, 01:16:31 »
die && zorgt ervoor dat  de rsync alleen wordt uitgevoerd als de grep 0 oplevert, wat zo is als ie iets vind, 1 bij niets vinden
Je hebt inderdaad gelijk :)

Het werkt prima!

@Erik Krom: Ik hou het liever eenvoudig mogelijk (dat heet: zonder allerlei extra dependencies), om zo de backups zo robuust als mogelijk te maken. Daarbij heb ik al een hoop backup apps voorbij zien komen op die niet meer ontwikkeld werden. Dan zit je daar met je backup archief...

De kans dat dit binnen afzienbare tijd met rsync gebeuren zal, acht ik klein :)

Offline markba

  • Lid
    • http://markbaaijens.nl/
Re: rsync & crontab configuratie
« Reactie #6 Gepost op: 2011/11/13, 08:14:07 »
Ik hou het liever eenvoudig mogelijk (dat heet: zonder allerlei extra dependencies), om zo de backups zo robuust als mogelijk te maken. Daarbij heb ik al een hoop backup apps voorbij zien komen op die niet meer ontwikkeld werden. Dan zit je daar met je backup archief...
Op zich heb je hier wel een punt. Er zijn hele mooie apps als bv duplicity, maar allemaal schrijven ze weg in een soort van eigen formaat. Mocht je een backup willen terugzetten of snel even iets opzoeken, dan zul je bijna altijd een soort van client moeten hebben, want rechtstreeks de bestanden benaderen gaat niet.

Let er wel op dat rsync uit zichzelf geen backuptool is! Als je namelijk een bestand verwijdert of overschrijft en meteen daarna heb je rsync laten lopen, dan kun je dat verdwenen of overschreven bestand nooit meer weghalen want die wijzigingen zijn netjes door rsync doorgevoerd in de zogenaamde backup.

Wil je rsync als backup gebruiken, dan zul je toch iets met snapshots moeten: snapshots slaan de (laatste) stand van het systeem op en kunnen niet meer aangepast worden. Alle backupsystemen, ook die van rsync toepassen, maken snapshots aan maar dat resulteert vaak in niet rechtstreeks toegankelijke bestanden.

Wil je toch met rsync je backup maken, dan is dit misschien wel wat: http://www.mikerubel.org/computers/rsync_snapshots/

Wat er gebeurt is het volgende:
- een basis-backup wordt gemaakt via rsync
- voordat de volgende backup gemaakt wordt, wordt eerst via hardlinks de basisbackup veiliggesteld
- voorts wordt de volgende backup gemaakt waarin alleen de wijzigingen tov de basisbackup meegenomen worden

Het voordeel van dit systeem is dat de backup uitleesbaar is zonder een aparte tool. Het nadeel tov meer geavanceerde backuptools als duplicity is dat er niet zo efficient met de ruimte omgegaan wordt: bij een wijziging in een bestand wordt het hele bestand opnieuw gecopieerd terwijl je eigenlijk alleen maar het verschil in dat bestand hoeft op te slaan.

Re: rsync & crontab configuratie
« Reactie #7 Gepost op: 2011/11/13, 09:28:10 »
In dat geval zou je haast beter een tar.gz maken met een timestamp en vervolgens dat gescript x dagen bewaren. hangt natuurlijk ook een beetje af van de ruimte die je tot beschikking hebt.