rsync ignriert exclude Pattern als Cronjob

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Thret1969
Beiträge: 3
Registriert: 21.06.2016 11:57:49

rsync ignriert exclude Pattern als Cronjob

Beitrag von Thret1969 » 21.06.2016 12:09:11

Hallo zusammen,

ich möchte eine Art Backup meines Raspberry Pi erstellen. Dazu wollte ich rsync nutzen. Das klappt auf der Bash soweit ganz gut, Probleme habe ich keine festgestellt. Alles war in Ordnung. Dazu habe ich folgendes aufgerufen:

Code: Alles auswählen

/usr/bin/rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found/*","/home/*"} / /media/hdd/backupfolder
Im Ergebnis wurde alles in das Verzeichnis kopiert und dabei die angegebenen Verzeichnisse bei der Sicherung ausgelassen. Ein zweiter Lauf direkt hinterher war natürlich um einiges schneller, da ja nur noch die Unterschiede "synchronisiert" wurden.

Daraus habe ich nun folgendes mittels crontab -e als Cronjob gebaut:

Code: Alles auswählen

30 1 * * 0 /usr/bin/rsync -aAX --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found/*","/home/*"} / /media/hdd/backupfolder> /dev/null
Ich lasse also lediglich verbose weg und gebe noch die Zeiten für den Lauf an. Um so erschrockener war ich, das sämtliche Verzeichnisse aus dem exclude Pattern am nächsten Tag in der Sicherung enthalten waren. Das soll natürlich keinesfalls passieren. Was mache ich falsch? Oder warum wird --exclude ignoriert? Ich kann mir nicht vorstellen, das das Pi spezifisch ist, wenn doch, dann entschuldige ich mich jetzt schon mal. Aber vielleicht hat ja doch jemand einen Tipp.

Benutzeravatar
hikaru
Moderator
Beiträge: 13901
Registriert: 09.04.2008 12:48:59

Re: rsync ignriert exclude Pattern als Cronjob

Beitrag von hikaru » 21.06.2016 13:03:27

Die Details habe ich auf die Schnelle nicht parat, aber cron führt anders als du in deinen Tests keine Login-Shell aus. Die beiden Shells verhalten sich ähnlich, aber nicht identisch.
Ich vermute, dass dein exclude-Pattern (das ich in der Form übrigens noch nie gesehen habe) in der cron-Shell nicht gültig interpretiert, und daher ignoriert wird.

Wenn ich mehrere Pattern ausschließen will, dann benutze ich die --exclude-from=FILE-Option. Das finde ich intuitiver und besser wartbar.

Thret1969
Beiträge: 3
Registriert: 21.06.2016 11:57:49

Re: rsync ignriert exclude Pattern als Cronjob

Beitrag von Thret1969 » 21.06.2016 13:15:26

Das würde im Umkehrschluss aber auch bedeuten, das ich ein Bash Shellscript schreiben könnte (#!/bin/bash ) und dieses dann im Cron aufrufen. Dann würde aus meiner Sicht die Bash verwendet und das Script korrekt, analog zum Befehl der Login-Shell ausgeführt werden? Ist nur ein Schuss ins Blaue jetzt...

Alternativ: Der Inhalt der Datei für --exclude-from=FILE wäre vermutlich identisch mit meinem Exclude Pattern, allerdings jedes Verzeichnis in einer neuen Zeile oder?

Sorry für die doofen Fragen, hab vorher noch nie was mit rsync gemacht.

PS: Mal eine andere Frage... Kennt jemand irgendeine Cloud, die man mittels FTP, SFTP, WebDAV, SCP, SSH , whatever ansteuern kann, die einem um die 300GB Platz bietet? So günstig wie möglich natürlich... Ich will da auch keine GUI oder dergleichen, sondern nur in einem verschlüsselten Container meine MP3's ablegen als eine Art externes Backup, falls die Pi HDD mal die Hufe heben sollte... Da brauch es keinen Zugriff über Web oder irgendne App oder was weiß ich grad so angesagt ist. Einfach nur n dummer Ablageplatz OHNE Sharingmöglichkeit.

Benutzeravatar
hikaru
Moderator
Beiträge: 13901
Registriert: 09.04.2008 12:48:59

Re: rsync ignriert exclude Pattern als Cronjob

Beitrag von hikaru » 21.06.2016 13:24:32

Thret1969 hat geschrieben:Das würde im Umkehrschluss aber auch bedeuten, das ich ein Bash Shellscript schreiben könnte (#!/bin/bash ) und dieses dann im Cron aufrufen. Dann würde aus meiner Sicht die Bash verwendet und das Script korrekt, analog zum Befehl der Login-Shell ausgeführt werden? Ist nur ein Schuss ins Blaue jetzt...
Gut gezielt! ;)
Das funktioniert so.
Thret1969 hat geschrieben:Alternativ: Der Inhalt der Datei für --exclude-from=FILE wäre vermutlich identisch mit meinem Exclude Pattern, allerdings jedes Verzeichnis in einer neuen Zeile oder?
Ja. So mache ich es z.B. um meine Musiksammlung auf meine mobilen Player zu übertragen, auf dem ich aus Platzgründen nur die verlusthaft komprimierten Stücke haben will (keine FLACs, Coverbilder o.ä.).
Thret1969 hat geschrieben:PS: Mal eine andere Frage... Kennt jemand irgendeine Cloud, die man mittels FTP, SFTP, WebDAV, SCP, SSH , whatever ansteuern kann, die einem um die 300GB Platz bietet? So günstig wie möglich natürlich... Ich will da auch keine GUI oder dergleichen, sondern nur in einem verschlüsselten Container meine MP3's ablegen als eine Art externes Backup, falls die Pi HDD mal die Hufe heben sollte... Da brauch es keinen Zugriff über Web oder irgendne App oder was weiß ich grad so angesagt ist. Einfach nur n dummer Ablageplatz OHNE Sharingmöglichkeit.
Zum Thema Cloud kann ich nichts beitragen, aber wie wäre es mit einem simplen Offsite-Backup in Form einer außer Haus gelagerten HDD?

Thret1969
Beiträge: 3
Registriert: 21.06.2016 11:57:49

Re: rsync ignriert exclude Pattern als Cronjob

Beitrag von Thret1969 » 21.06.2016 13:41:54

Ich bin stinkendfaul :-) Das würde bedeuten, ich müsste da irgendwas an den Pi anstecken. Also zusätzlich. Der steht irgendwo im Bücherregal hinter den Büchern, ich könnte jetzt nicht mal sagen, wo genau :-) Sprich, ich seh die Kiste nie. Das Ding dient mir als WebDAV Speicher (Plus LAN Intern via SSH und Samba als Ablageort für Bilder, Mediamonkey DB Server) und für einen Zarafa Familienmailserver. Mehr muss der nicht tun. OK an Zarafa hat er zu knabbern aber es funktioniert bei 4 Usern.

Bisher habe ich auch kaum Anlass mir Gedanken um die Files zu machen. Meiner Meinung nach geht eher die SD hoch, als die HDD, aber man weiß ja nie.Hinterher ist das Geschrei groß, wenn Dateien fehlen. Auch ich krieg ne Krise, wenn die Sammlung im Eimer ist. Als alter Geizkragen, mag ich natürlich kein Geld in die Hand nehmen um das Zeug zu sichern. Neue Hardware ist da immer eine schlechte Idee. Meiner besseren Hälfte brauch ich damit gleich gar nicht kommen. Ich hab mal das Thema NAS angesprochen und war froh, das die Bratpfanne gut weggeschlossen war :-) Technik ist toll, wenn sie funktioniert. Wenn es Probleme gibt, war entweder ich Schuld (auch wenn ich das Netzwerk seit Wochen nicht mal mit der Kneifzange angefasst habe) oder aber die anderen (wer auch immer das sein mag). Aber irgendwas ist immer und bei einem solchen Supergau möchte ich nicht in der Nähe der Wohnung sein. Fällt mal das WLAN aus, weil der Router grad updated, dauert es keine 10 Sekunden bis ich mein Töchterchen endlich nach langer Zeit mal wiedersehe, um nachzufragen "was um Geier" nun schon wieder los sei. Ja so ist das heutzutage :-)

Ich mach mir mal Gedanken, ob ich vielleicht ein paar GB Plattenplatz auf einem der heimischen Rechner freiräumen kann. Dann mach ich halt n regelmässiges Backup auf einen der Clients. Hauptsache weg von der HDD des Pi. Zwei Platten geben in der Regel nicht gleichzeitig den Geist auf.

Antworten