Cronjob Ubuntu 11.10 funktioniert nicht
lima-city → Forum → Heim-PC → Betriebssysteme
all
anfertigen
code
dank
dom
feststelle
file
liegen
log
minute
null
output
problem
punkt
run
server
url
versuchen
welt
zutun
-
Hey Leute!
Ich habe ein Problem mit meinem Home-Server. Auf ihm läuft ein Bukkit-Server (Minecraft) und ich würde gern mithilfe von Cronjob jede Stunde von 14-22 Uhr ein Backup der Welt anfertigen lassen. Mit "Crontab -e" habe ich schon folgendes eingetragen:* 14-22 * * * ./home/server/Maxi2011-Server/backup.sh > /dev/null 2>&1
Die backup.sh sieht so aus:
Jedoch funktioniert das Ganze nicht.#!/bin/sh zeit=`date +%a,%d.%m.%y_%H:%M` cd /home/server/Maxi2011-Server/BACKUP-WELT/ mkdir $zeit cd /home/server/Maxi2011-Server/ cp -R New\ World BACKUP-WELT/$zeit/ cp -R New\ World_nether BACKUP-WELT/$zeit/ cp -R New\ World_the_end BACKUP-WELT/$zeit/ cd BACKUP-WELT/ ls > INDEX.txt
Danke für eure Hilfe! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Definiere "Es funktioniert nicht" !
Funktioniert das Script denn manuell aufgerufen ?
Wird dasScript aufgerufen ?
Läuft der Cron Daemon ?
Wie sieht die crontab aus ?
Beitrag zuletzt geändert: 16.3.2012 15:33:49 von fatfox -
imho würde dein cronjob jede Minute zwischen 14:00 und 22:59 versuchen ein Backup anzulegen, so wie ich dich verstanden habe soll das aber stündlich erfolgen. In diesem Fall müsste deine Cronzeile so lauten:
0 14-22 * * * ./home/server/Maxi2011-Server/backup.sh > /dev/null 2>&1
Ansonsten kann ich auf die schnelle nichts feststellen, wo du Probleme haben solltest, allerdings wäre ein Klassiker für diesen Fall, dass du keine Schreibrechte hast…
Außerdem würde ich sagen dass du die Fehlerausgabe in ein error.log umleiten solltest, dann sähe deine cronzeile so aus:0 14-22 * * * ./home/server/Maxi2011-Server/backup.sh > /dev/null 2>/home/server/Maxi2011-Server/BACKUP-WELT/error.log
Das dürfte die Auswertung von Fehlern wesentlich erleichtern.
Mit freundlichen Grüßen -
@fatfox
- Manuell funktioniert das Skript einwandfrei und ohne Probleme.
- Dass das Script von Cron aufgerufen wird glaube ich eher nicht, da sich sonst ja wenigstens der Ordner mit dem aktuellen Datum und der aktuellen Uhrzeit erstellen würde.
- Ja, hab ihn auch schon mehrfach neu gestartet.
- So:# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command 0 14-22 * * * ./home/server/Maxi2011-Server/backup.sh > /dev/null 2>&1
@nemoinho
Zeile geändert, danke!
Beitrag zuletzt geändert: 16.3.2012 16:35:47 von jnuk -
dexus85 schrieb:
Der sagt ja, dass das Skript ausgeführt werden soll. Alternativ könnte ich mal
Kann es an dem "PUNKT" vor dem /home liegen?
probieren...sh /home/server/Maxi2011-Server/backup.sh
EDIT:
Ne, funktioniert auch mit sh /home/... nicht. Muss ich vllt. noch irgendwas aktivieren oder so?
Beitrag zuletzt geändert: 16.3.2012 19:05:31 von jnuk -
Hallo,
das Problem wird höchstwarscheinlich sein, dass du einen relativen Pfad angegeben hast. Aber die Crontab benötigt einen Absoluten Pfad, wie zb /home/server/...sh.
Das wird dein Problem sein.
MfG source-code -
jnuk schrieb:
dexus85 schrieb:
Der sagt ja, dass das Skript ausgeführt werden soll.
Kann es an dem "PUNKT" vor dem /home liegen?
Der Punkt hat nichts damit zutun, dass etwas ausgeführt werden muss, sondern wie source-code schon sagt, mit relativen pfadangaben.
probier doch mal folgendes:
0 14-22 * * * /home/server/Maxi2011-Server/backup.sh >/home/server/Maxi2011-Server/BACKUP-WELT/everything.log 2>&1
dann siehst du in /home/server/Maxi2011-Server/BACKUP-WELT/everything.log ob was schief gelaufen ist. alternativ ist /var/log/everything.log auch immer eine gute adresse. wenns dann läuft kannst du den output immernoch nach /dev/null umleiten. -
Danke, dass ihr euch darum kümmert, aber das Problem hat sich bereits erledigt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage