Wo kann ich Cronjob-Skripte speichern?

18

Ich würde es vorziehen, es nicht in meinem /home/myusernameVerzeichnis zu behalten . Gibt es eine bewährte Methode zum Speichern von Shell-Skripten für Cronjobs? Auf der Wurzelebene?

Ich arbeite gerade mit Ubuntu Server 12.04.

Tarabyte
quelle
1
Warum möchten Sie es nicht in Ihrem Home-Verzeichnis speichern? Wenn sie für Sie persönlich sind, sollten sie genau dort sein - wahrscheinlich in einem gut benannten Unterverzeichnis. Wenn sie für das System ein Ganzes haben, sollten sie vielleicht woanders sein. (Die Unterscheidung kann vage sein, wenn Sie der einzige Benutzer sind.)
Keith Thompson
1
Es gibt wirklich keine "Antwort" auf diese Fragen ... nur viele, viele Vorlieben.
MDPC
Vielleicht finden Sie einige standardmäßig auf/usr/sbin
Tony Gil

Antworten:

19

Normalerweise lege ich meine in:

  • /usr/local/bin/ für Skripte, die von mehr als einem normalen Benutzer ausgeführt werden sollen
  • /usr/local/sbin/ für Skripte, die als root ausgeführt werden sollen

Auf diese Weise trennen Sie die Aufgabe, die das Skript ausführt, von cron, das den Start lediglich automatisiert.

Sie benötigen jedoch root, um Dateien dort zu speichern.

Sirex
quelle
Msgstr "Du brauchst root, um Dateien dort zu speichern." - Nicht, wenn Sie die Berechtigungen richtig einstellen. Normalerweise mache ich /usr/localund seine Unterverzeichnisse gruppenbeschreibbar und füge mich der Gruppe hinzu (sprich, install). (Natürlich benötigen Sie root, um die Berechtigungen
Keith Thompson
Ich bin der Hauptbenutzer und habe Root-Rechte. Ich würde es vorziehen, wenn niemand anderes dies bearbeitet, also neige ich mich zu / usr / local. gibt es kein standard / mycronjobs-verzeichnis, das die leute normalerweise erstellen?
Tarabyte
wenn Sie möchten, dass niemand anderes es bearbeiten kann. Machen Sie es zu root und legen Sie 500 oder 700 Berechtigungen fest. - Sie könnten sogar root machen: <Ihre Gruppe> @ 550 oder 770. Für einen ähnlichen Effekt können Sie editieren, ohne root zu werden. imho ist es sauberer, nur sudo vor dem Bearbeiten des Skripts und haben es von root im Besitz.
Sirex
6
@terabyte, das Standardverzeichnis ist normalerweise ~/bindas, das dann zum $ PATH hinzugefügt wird. Sie haben nach Best Practice gefragt. Nun, es speichert Ihre persönlichen Skripte in Ihrem Home-Verzeichnis. Es ist ordentlicher und erleichtert das spätere Upgrade erheblich.
Terdon
Wenn es sich um ein persönliches Skript handelt (niemand anderes muss es ausführen), ist Terdon korrekt.
Sirex