Cron Job wird nicht ausgeführt

  • 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.
und mit
Code:
/volume1/web/backup/dbbackup.sh
in der Konsole läuft es?

Edit: Ist /etc/crontab auch ohne ^M am Zeilenende im vi?
 
habe folgendes per telnet probiert:

cd /volume1/web/backup/

sh dbbackup.sh

funktioniert, aber ich musste ein paar zeilen auskommentieren:

Rich (BBCode):
#!/bin/sh
#
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
#export PATH
#cd /volume1/web/backup/
cat dbbackup.ftp | lftp -u db,pw -p 21 forum.de/html/backup/

edidt: ich nutze den cronjob editor zum erstellen und bearbeiten der crontabs
 
Es muss auch ohne "sh" davor mit "/volume1/web/backup/dbbackup.sh" funktionieren, sonst stimmt etwas mit den Rechten oder dem Dateiformat nicht.
Was liefert denn "ls -als /volume1/web/backup/dbbackup.sh"?
Hast du dir das Script und /etc/crontab wirklich mal mit vi angeschaut?

Edit: Wenn du magst, schalte mal ssh an, leite Port 22 im Router auf deine DS weiter und teil mir deine externe IP und das root-Passwort per PN mit. Ich würde mir die Sache mal anschauen.

Gruß Benares
 
Zuletzt bearbeitet:
eben nicht, telnet funktioniert nur wie ich es oben schon beschrieben habe.
meine crontab sieht so aus:
Code:
0	21	*	*	3	root	/usr/syno/bin/smartctl -d ata -t long /dev/sda > /dev/null 2>&1
5	0	*	*	3,6	root	/usr/syno/bin/synopkg chkupgradepkg
3	20	*	*	*	root	/volume1/web/backup/dbbackup.sh	#db

cd /volume1/web/backup/
ls

zeigt mir Raumschiff> ls
backup.sql.gz dbbackup.ftp dbbackup.sh dbbackup.sh.bak
 
Dann mach mal wenigstens ein "ls -als" anstatt nur "ls".
 
Raumschiff> ls -al
drwxr-xr-x 3 root root 4096 Feb 20 20:22 .
drwxr-xr-x 23 root root 4096 Feb 26 17:02 ..
drwxr-xr-x 2 root root 4096 Feb 19 21:29 .lftp
-rw-r--r-- 1 root root 366 Feb 19 18:35 .profile
 
Ich meinte nach dem "cd /volume1/web/backup/", also
Code:
cd /volume1/web/backup/
ls -als
 
Raumschiff> cd /volume1/web/backup/
Raumschiff> ls -als
4 drwxrwxrwx 2 admin users 4096 Feb 27 20:45 .
4 drwxrwxrwx 4 root root 4096 Feb 26 16:55 ..
1852 -rw-r--r-- 1 root root 1895878 Feb 27 19:39 backup.sql.gz
4 -rwxrwxrwx 1 admin users 40 Feb 20 20:38 dbbackup.ftp
4 -rwxrwxrwx 1 admin users 238 Feb 27 19:19 dbbackup.sh
4 -rwxrwxrwx 1 admin users 237 Feb 27 19:19 dbbackup.sh.bak
0 -rw-r--r-- 1 root root 0 Feb 27 20:45 ls
 
Die Rechte schauen ok aus, wenn auch etwas "zu offen". Arbeitest du über telnet als "admin" oder als "root"?
Lass mich kurz aufschalten, so wird das hier nix.
 
in telnet gehe ich als root
auf die ds gehe ich als admin
 
Das ist ok. Und wie machen wir jetzt weiter?
 
keine ahnug! ich möchte das script einfach mal zum laufen bringen.
 
Ist es denn zuviel verlangt, dass du einfach mal ein "vi /volume1/web/backup/dbbackup.sh" eintippst und mir sagst, was du siehst und ob da ^M an den Zeilenenden stehen (mit Esc, :, q kommst du wieder raus)?
 
#!/bin/sh^M
#^M
#PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin
#export PATH^M
#cd /volume1/web/backup/^M
cat dbbackup.ftp | lftp -u db,pw -p 21 forum.de/html/
~
~
~
~
 
Zuletzt bearbeitet:
Dacht ich mir's doch.
Arbeite dich ein wenig in "vi" ein und/oder besorg dir WinSCP als Client. Dein Editor (oder die anschliessende Übertragung) ist nicht Unix-fähig.

Hintergrund: DOS/Windows verwendet CarriageReturn (CR) und LineFeed (LF) als Steuerzeichen am Zeilenende, Unix nur ein LF. Die CR erscheinen in einem Unix-Editor als "^M", die müssen weg.

Gruß Benares
 
Zuletzt bearbeitet:
oky, danke werde das erst mal testen. melde mich dann noch mal.
 
Evtl. ist die /etc/crontab auch so verhunzt - schau mal nach.
 
"^M" müssen weg.

so meine dbbackup.sh ist jetzt "sauber".

leider tauchen jetzt wieder neue probleme auf:
Code:
Feb 28 15:34:45 crond: crond (busybox 1.16.1) started, log level 8
Feb 28 15:36:01 crond: USER root pid 16118 cmd /volume1/web/backup/dbbackup.sh
/volume1/web/backup/dbbackup.sh: line 6: lftp: not found
cat: write error: Broken pipe

was bedeutet das nun wieder und wie kann das problem behoben werden?

Rich (BBCode):
#!/bin/sh
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH
cd /volume1/web/backup/
cat dbbackup.ftp | lftp -u db,pw -p 21 forum.de/html/backup/
 
Das bedeutet, dass das Verzeichnis, in dem lftp liegt nicht im Pfad ist. Ein "which lftp" auf der Konsole sagt dir, in welchem Verzeichnis lftp liegt.
Nimm das Verzeichnis mit in den Pfad auf, dann sollte es klappen. Oder nimm einfach den Pfad komplett, den ein "echo $PATH" auf der Konsole ausgibt.

Gruß Benares
 
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