2017-04-26 4 views
0

Ich versuche, einen täglichen Cron-Job zum Sichern einer Datenbank hinzuzufügen. Ich kann es manuell ausführen, indem ich sh /path/to/file/backup.sh ausführen, aber wenn ich die Datei in das Verzeichnis cron.daily platziere, wird sie nicht täglich ausgeführt. Um es zu diagnostizieren, habe ich eine Testdatei in cron.daily namens test erstellt, um zu sehen, ob sie ausgeführt wird. Als ich run-parts --test /etc/cron.daily lief, habe ich den AusgangNeu hinzugefügte Jobs, die nicht in cron.daily ausgeführt werden

/etc/cron.daily/apache2 /etc/cron.daily/apt /etc/cron.daily/bsdmainutils /etc/cron.daily/dpkg /etc/cron.daily/etckeeper /etc/cron.daily/logrotate usw.

So dann habe ich versucht, den Inhalt von logrotate in eine neue Datei zu kopieren, atest, dann laufen ran Teile wieder, aber mit den gleichen Ergebnissen.

atest:

#!/bin/sh 

test -x /usr/sbin/logrotate || exit 0 
/usr/sbin/logrotate /etc/logrotate.conf 

Gibt es etwas Besonderes ich tun muss cron bekommen eine neu hinzugefügte Aufgabe in cron.daily zu erkennen?

Dies ist nicht einzigartig für cron.daily, ich habe versucht, Monatlich, wöchentlich und stündlich mit den gleichen Ergebnissen. Ich habe auch versucht, Cron ohne Erfolg neu zu starten. Ich mache das auf Debian 7.2.

+1

die Berechtigungen Ihrer neuen Datei Sie die Berechtigungen der anderen Dateien (0644) überein? – Code4aliving

+1

@BradBales welp, die den Trick zu tun schien. ich die Rechte der Datei geändert Ich habe die cron.daily mit 'run-parts' laufen lassen und sie sind alle gelaufen. Danke, eine Bootsladung, Kumpel. Wenn du eine Antwort daraus formulieren kannst, werde ich es akzeptieren. – notblakeshelton

+0

Danke, @notblakshelton! Das letzte Mal, als ich mit Cron rang, hatte ich einen Punkt im Dateinamen und konnte nicht herausfinden, warum es nicht lief :) – Code4aliving

Antwort

1

Es gibt ein paar Dinge, die Dateien in/etc/cron * Verzeichnisse von Laufen (z /etc/cron.daily) halten kann:

  1. Berechtigungen. Stellen Sie sicher, dass die Berechtigungen der Dateien 0644 sind.

  2. Der Dateiname muss bestimmte Bedingungen erfüllen. Aus der Dokumentation: "... müssen sie vollständig aus Buchstaben, Ziffern bestehen und dürfen nur die Sonderzeichen, Unterstriche ('_') und Bindestriche ('-') enthalten. Jede Datei, die diesen Anforderungen nicht entspricht, wird nicht durch Laufteile ausgeführt werden.

Verwandte Themen