Copy File von Raspi nach Synology mit Crontab funktioniert nicht

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Ludwig68

Benutzer
Registriert
25. Feb. 2022
Beiträge
1
Reaktionspunkte
0
Punkte
1
Hi all,

ich bin neu im Forum und habe folgende Frage:
Ich habe einen Raspberry Pi von dem ich stündlich eine Datei auf meine Synology kopieren möchte.

NFS-Server auf der Synology läuft, ein Export ist auf meinem Raspberry gemountet

pi@pi:~/folderXYZ $ showmount -e my-synology
Export list for my-synology:
/volume1/pi-backup 192.168.178.10


/etc/fstab
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
my-synology:/volume1/pi-backup /BACKUP nfs defaults,rw,users 0 0


Ein Copy des Files manuell funktioniert auch:
cp /home/pi/myfolder/*.bck /BACKUP/

Jetzt versuche ich den Copy über Crontab zu automatisieren, dies funktioniert allerdings nicht und ich habe keine Ahnung warum.
Inhalt der crontab -e
35 * * * * cp /home/pi/myfolder/mybackupfile.bck /BACKUP/`date +%y%m%d_%H%M`_mybackupfile.bck

Any Idea?
 
Fehlt da nicht die Angabe des Users in der crontab-Zeile? War doch grad Thema hier.
 
Ein Copy des Files manuell funktioniert auch:
cp /home/pi/myfolder/*.bck /BACKUP/

Jetzt versuche ich den Copy über Crontab zu automatisieren, dies funktioniert allerdings nicht und ich habe keine Ahnung warum.
Inhalt der crontab -e
35 * * * * cp /home/pi/myfolder/mybackupfile.bck /BACKUP/`date +%y%m%d_%H%M`_mybackupfile.bck

Das sind 2 unterschiedliche Aufrufe, ich frage nach dem 2ten...

Was zeigt crontab -l ?
 
Wie @Benares schon sagte.
Gib einen User an im crontab.

Und sonst einfach mal ins cron log schauen (/var/log).

Wann löscht du die alten Backups? Solltest du evt. auch andenken.
 
Ahhh den Fehler liebe ich, weil er mir früher auch schon häufig geschehen ist und so etwas prägt sich ein.

@mueke Das einzige was du tun musst ist das Prozent Zeichen zu escapen mit einem Backslash "\".

Somit sollte deine Zeile wie folgt aussehen:
35 * * * * cp /home/pi/myfolder/mybackupfile.bck /BACKUP/`date +\%y\%m\%d_\%H\%M`_mybackupfile.bck
 
Zuletzt bearbeitet:
Da fehlt aber leider immer noch der User :rolleyes:
 
@Benares weshalb fehlt da ein User?
In all meinen Cronjobs wird kein User angegeben außer der Job soll explizit von einem bestimmten user ausgefürht werden.
 
Ich kenn das nur so, dass da bei "who" jeweils auch ein user angegeben wird, unter dem der jeweilige Job laufen soll. Meist ist das root.

Code:
root@DS415:~# cat /etc/crontab
MAILTO=""
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
#minute hour    mday    month   wday    who     command
#20     0       *       *       *       root    /usr/syno/bin/timebkp recycle_all
0       0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23   *       *       *       root    /usr/syno/bin/synoschedtask --run id=3
15      0       *       *       1,4     root    /usr/syno/bin/synoschedtask --run id=1
0       0       24      *       *       root    /usr/syno/bin/synoschedtask --run id=4
0       0       *       *       6       root    /usr/syno/bin/synoschedtask --run id=6

Siehe den Link unter #3, wo der jeweilige Job einfach nicht ausgeführt wurde, wenn diese Angabe fehlt.
 
Zuletzt bearbeitet:
Ich habe mal ein wenig weiter experimentiert und ins Syslog geschaut, der Fehler hängt wohl mit dem Zeitstempel zusammen, den ich vergeben möchte:

Ohne Zeitstempel
Feb 25 22:33:10 mypi crontab[3033]: (root) BEGIN EDIT (root)
Feb 25 22:33:39 mypi crontab[3033]: (root) REPLACE (root)
Feb 25 22:33:39 mypi crontab[3033]: (root) END EDIT (root)
Feb 25 22:34:01 mypi cron[1659]: (root) RELOAD (crontabs/root)
Feb 25 22:35:01 mypi CRON[3093]: (root) CMD (cp /home/pi/myfolder/*.bck /BACKUP)

Mit Zeitstempel
Feb 25 22:35:49 mypi crontab[3106]: (root) BEGIN EDIT (root)
Feb 25 22:37:28 mypi crontab[3106]: (root) REPLACE (root)
Feb 25 22:37:28 mypi crontab[3106]: (root) END EDIT (root)
Feb 25 22:38:01 mypi cron[1659]: (root) RELOAD (crontabs/root)
Feb 25 22:40:01 mypi CRON[3132]: (root) CMD (cp /home/pi/myfolder/*.bck /BACKUP/`date +)
Feb 25 22:40:01 mypi CRON[3131]: (CRON) info (No MTA installed, discarding output)
 
Was bedeutet mit/ohne Zeitstempel? :unsure:
 
@Benares Aber du bist gerade auf der Syno unterwegs und die cronjobs sind da etwas anders angelegt.

Das was aber hier zur Debatte steht ist ein Raspberry und so wie es aussieht nach einem RaspbianOS (Debian). Indiz hierfür ist der Pfad zum Home Verzeichnis des Users „pi“ /home/pi

Auf einem Linux wie z.B. Debian, Ubuntu wird der crontab im Kontext des eigenen Users wie folgt erstellt.
crontab -e
Wenn man für einen anderen User einen crontab definieren möchte, dann legt man diesen mit Angabe des Users an.
crontab -u <user> -e

Der cron ist bei Synology anders aber ähnlich implementiert bei dem natürlich auch der User in der Tabelle vorkommt.
 
@luddi : Das wars :) Der Tipp aus #7
Das einzige was du tun musst ist das Prozent Zeichen zu escapen mit einem Backslash "\".

Somit sollte deine Zeile wie folgt aussehen:
35 * * * * cp /home/pi/myfolder/mybackupfile.bck /BACKUP/`date +\%y\%m\%d_\%H\%M`_mybackupfile.bck

Thx @luddi , ich gebe dir nen virtuellen :coffee: aus
 
Wie @Benares schon sagte.
Gib einen User an im crontab.

Und sonst einfach mal ins cron log schauen (/var/log).

Wann löscht du die alten Backups? Solltest du evt. auch andenken.
@tproko Backups lösche ich mit:

30 * * * * find /BACKUP -name "*.bck" -type f -mtime +1 -delete

Wobei die 1 erstmal zum testen ist, schraube das dann entsprechend auf 60 Tage hoch
 
Ok. Ich würde eigene .sh Skripte machen (chmod +x nicht vergessen).

Das finde ich besser lesbar als alles in die crontab rein zupacken.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat