Moderatorschrecker
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Hallo.
Ich will einen cronjob starten.
Mit
habe ich folgenden cronjob
# 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/
1 4-23 * * * /home/andy/Schreibtisch/aktuanew.sh
# 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/
1 4-23 * * * /home/andy/Schreibtisch/aktuanew.sh
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
editiert.
Gespeichert habe ich mit ^O in nano.
Gestartet mit
Dies folgende ist die Scriptdatei
sudo mv '/home/andy/Schreibtisch/aktua'' '$(date +%Y-%d-%m).sh '/root/Updateverlauf'
# Wenn mehr als 3 Dateien im Ordner dann in Backup verschieben
notify-send "Achtung" "Aktualisierung mittels <cronjob>"
Mit
top
woltte ich überwachen ob der cronjob 1 mal pro Minute startet, das tut der nicht.
Was habe ich falsch gemacht und was muss ich ändern damit der cronjon erfolgreich startet?
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21725
Wohnort: Lorchhausen im schönen Rheingau
|
Moderatorschrecker schrieb: Was habe ich falsch gemacht
Du hast nicht das Wiki gelesen: Cron. Dann wäre dir bei der Beschreibung der Zeilen sicher aufgefallen, dass Du etwas anderes eingestellt hast, als das, was du haben wolltest. Nebenbei: Warum in aller Welt sudo crontab -e für einen Job, der nur deinen user betrifft? Kleiner Tip am Rande noch: Wenn man nach cronjobs fragt, kann es ganz sinnvoll sein, die aufgerufenen Skripte zu zeigen
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
die aufgerufenen Skripte zu zeigen
Wie oben
sudo mv '/home/andy/Schreibtisch/aktua'' '$(date +%Y-%d-%m).sh '/root/Updateverlauf'
# Wenn mehr als 3 Dateien im Ordner dann in Backup verschieben
notify-send "Achtung" "Aktualisierung mittels <cronjob>"
Und das ich den cronjob
...
1 4-23 * * * /home/andy/Schreibtisch/aktuanew.sh
...
etwas anders aufgebaut habe als im Wiki
cron
hatte folgenden Grund; die Wartezeit bis der cronjob startet sollte von 5 auf 1 Minute verkürtzt werden.
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Der Start
erbringt folgenden Fehler
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron start
initctl: Unbekannter Auftrag: cron
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start cron
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21725
Wohnort: Lorchhausen im schönen Rheingau
|
Moderatorschrecker schrieb: die aufgerufenen Skripte zu zeigen
Wie oben
Das ist der komplette Job? na gut, dann nehme ich das zurück. Und das ich den cronjob
1 4-23 * * * /home/andy/Schreibtisch/aktuanew.sh
etwas anders aufgebaut habe als im Wiki
cron
hatte folgenden Grund; die Wartezeit bis der cronjob startet sollte von 5 auf 1 Minute verkürtzt werden.
Du hast den betreffenden Abschnitt im Wiki anscheinend immer noch nicht gelesen. Du hast etwas anderes eingestellt als das gewünschte "jede Minute starten" Anmerkung zum Skript: Wenn du schon die crontab von Root benutzt, brauchst Du darin kein sudo. Denn sudo erlaubt dir den Befehl mit den Rechten eines anderen Benutzers (ohne explizite Angabe: root) aufzurufen, die Du sinnvollerweise schon hast, wenn Du bereits root bist.
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Den cronjob den ich eingestellt habe soll einmal pro Minute in der Zeit von 4 Uhr bis 23 Uhr starten!?
|
redknight
Moderator & Supporter
Anmeldungsdatum: 30. Oktober 2008
Beiträge: 21725
Wohnort: Lorchhausen im schönen Rheingau
|
Nochmal: Das ist nicht das, was Du eingestellt hast. Die nötigen Informationen, was Du eingestellt hast und wie Du es abändern musst damit es in deinem Sinne funktioniert, stehen im benannten Wikiartikel. Den Link dazu bekommst Du ja nicht von mir, weil Links in Beiträgen unglaublich professionell wirken, sondern weil dahinter Informationen stehen, die Dir helfen, dein Problem zu lösen.
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Sowie es im Wiki cron steht, habe ich folgende Änderung im crontab vorgenommen.
1 4-23 * * * /bin/bash --login /home/andy/Schreibtisch/aktuanew.sh
Geholfen hat es nicht.
|
jug
Ehemalige
Anmeldungsdatum: 19. März 2007
Beiträge: 12335
Wohnort: Berlin
|
Moderatorschrecker schrieb: sudo mv '/home/andy/Schreibtisch/aktua'' '$(date +%Y-%d-%m).sh '/root/Updateverlauf'
Updateverlauf? Die Paketverwaltung pflegt doch so oder so logs in /var/log/apt und etwas detaillierter in /var/log/dpkg.log . Bist du immer noch dabei dir mit automatisierten *.sh-Dateien dein System zu zerschießen? Naja, du wirst schon wissen, was du da machst … ~jug
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Es ist mir peinlich, aber der cronjob startet nicht.
Den Wikiartikel, cron habe ich gelesen.
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Hallo.
Wo muss ich meinen cronjob hinpacken?
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17548
Wohnort: Berlin
|
Vergleichen wir Wiki mit Deinen Angaben:
| 1 4-23 * * * /bin/bash --login /home/andy/Schreibtisch/aktuanew.sh
* * * * * Befehl der ausgeführt werden soll
- - - - -
| | | | |
| | | | +----- Wochentag (0 - 7) (Sonntag ist 0 und 7; oder Namen, siehe unten)
| | | +------- Monat (1 - 12)
| | +--------- Tag (1 - 31)
| +----------- Stunde (0 - 23)
+------------- Minute (0 - 59; oder Namen, siehe unten)
|
Das Skript läuft so von 4-23 Uhr täglich, alle Monate, alle Wochentage, und zwar immer um eine Minute nach.
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Danke für dein posting user unknown .
Aber ist das der Grund, ich hatte den PC um 6 Uhr eingeschaltet, starten soll das Script um 4 Uhr und beendet soll es um 23 Uhr werden.
|
jug
Ehemalige
Anmeldungsdatum: 19. März 2007
Beiträge: 12335
Wohnort: Berlin
|
Moderatorschrecker schrieb: Danke für dein posting user unknown .
Aber ist das der Grund, ich hatte den PC um 6 Uhr eingeschaltet, starten soll das Script um 4 Uhr und beendet soll es um 23 Uhr werden.
Du hast eigentlich alle Informationen, die du brauchst. Aktuell läuft dein Skript einmal pro Stunde, jeweils eine Minute nach jeder vollen Stunde zwischen 4 und 23 Uhr. Im Artikel cron findest du auch solche Beispiele für Skripte, die alle x Minuten ausgeführt werden. Zum Beispiel eines, das alle 10 Minuten ausgeführt wird:
*/10 * * * * /usr/bin/script2.sh > /dev/null 2>&1 Oder weiter unten ein Zitat aus dem Artikel: Man sollte aber bedenken, dass * */2 * * * beispielsweise den Befehl 60 mal (also zu jeder Minute) jede zweite Stunde ausführt.
Jetzt musst du die Informationen nur noch zusammen bauen. ~jug
|
Moderatorschrecker
(Themenstarter)
Anmeldungsdatum: 3. August 2014
Beiträge: 188
|
Mit http://www.crontab-generator.org/ habe ich mir folgenden cronjob zusammengestellt
* * * * * /bin/bash --login /home/andy/Schreibtisch/aktuanew.sh >/dev/null 2>&1
das hat auch funktioniert, und startet einmal pro Minute.
|