PowerScale OneFS: So bearbeiten Sie Crontab
Summary: Crontab ist ein Dienstprogramm für die Aufgabenplanung und Aufgabenautomatisierung.
Instructions
Verfahren
Zeigen Sie die Crontab-Dateien an.
Führen Sie den entsprechenden Befehl aus, um entweder die clusterweite Crontab-Datei oder die Crontab-Datei des lokalen Nodes anzuzeigen.Für clusterweit:
cat /etc/crontabFür Crontab für lokale Nodes:
cat /etc/local/crontab.local
TreeDeletedas /etc/local/crontab.local Die Datei muss erstellt werden. Weitere Informationen finden Sie weiter unten.
OneFS erzeugt die
/etc/crontab zu verwenden. Ein Beispiel für einen Crontab-Eintrag ist unten dargestellt.
#minute hour mday month wday who command # # Nightly Health check update 0 1 * * * root /usr/bin/isi_healthcheck_update -s
In der folgenden Tabelle werden die Spaltenüberschriften erläutert:
|
Headername |
Zulässige Werte |
Zulässige Sonderzeichen |
|---|---|---|
|
Minute |
0-59 |
* / , |
|
Stunde |
0-23 |
* / , |
|
mday |
Tag des Monats, 1-31 |
* / , ? L W |
|
Monat |
1-12 |
* / , |
|
wday |
Wochentag (0–6, Sonntag = 0) |
* / , ? L W |
|
who |
Berechtigungsgruppe, z. B. Root |
N. z. |
|
command |
Auszuführende Befehle |
N. z. |
In dieser Tabelle werden die Sonderzeichen erläutert:
|
Sonderzeichen |
Definition |
|---|---|
|
* |
Sternchen werden verwendet, um die Übereinstimmungen des Cron-Ausdrucks für alle Werte des Felds anzuzeigen. Für das Feld "Monat" wird also jeder Monat angegeben. |
|
/ |
Schrägstriche werden verwendet, um Schritte innerhalb von Bereichen zu beschreiben. Beispiel: „3-59/15“ unter „minutes“ würde die dritte Minute der Stunde und danach alle 15 Minuten angeben. |
|
% |
Prozentzeichen werden in Befehlen in Zeilenumbruchzeichen umgewandelt. |
|
, |
Kommas werden verwendet, um Elemente einer Liste zu trennen. Beispiel: DO, FR, SA |
|
- |
Bindestriche werden verwendet, um Bereiche zu definieren, z. B. 200-205. |
|
L |
Steht für „last“ (letzter). Wird mit dem Feld „day-of-week“ verwendet, um Konstrukte wie „last Friday“ anzugeben, was 5L entspräche. |
|
W |
Wird für das Feld „day-of-month“ verwendet, um einen Wochentag anzugeben, der dem angegebenen Tag am nächsten ist. Beispielsweise wäre „14W“ der nächste Wochentag zum 14. des Monats. |
|
# |
Wird für das Feld "Wochentag" verwendet und von einer Zahl zwischen 1 und 5 gefolgt von einer Zahl zwischen 1 und 5 verwendet, um Konstrukte wie den zweiten Montag eines bestimmten Monats anzugeben. |
|
? |
Wird anstelle von * verwendet, um den Tag des Monats oder den Tag der Woche leer zu lassen. |
/etc/crontab -Datei werden Anweisungen gegeben, wo Einträge hinzugefügt oder Änderungen für die Anpassung vorgenommen werden können. Die Spalte /etc/local/crontab.local Datei und die /etc/mcp/override/crontab Die Datei wurde vom Nutzer erstellt, daher enthält sie keine Anweisungen.
Bearbeiten Sie die Crontab-Dateien.
/etc/crontab Die Datei darf NICHT direkt bearbeitet werden.
Das Hinzufügen oder Ändern von Einträgen zu dieser Datei muss in der
/etc/mcp/override/crontab Datei für clusterweit und die /etc/local/crontab.local Für lokalen Node.
Crontab-Einträge in der
/etc/local/crontab.local Datei ein OneFS-Upgrade nicht überstehen, jedoch werden Einträge in der /etc/mcp/override/crontab beibehalten werden.
Wenn die
/etc/local/crontab.local Die Datei ist nicht vorhanden. Verwenden Sie den folgenden Befehl, um Folgendes zu erstellen:
touch /etc/local/crontab.localÄhnlich verhält es sich, wenn die
/etc/mcp/override/crontab Die Datei ist nicht vorhanden. Verwenden Sie den folgenden Befehl, um Folgendes zu erstellen:
touch /etc/mcp/override/crontab
cp /etc/local/crontab.local /etc/local/crontab.local.backup
Ein Eintrag kann direkt hinzugefügt werden, indem Sie den folgenden Befehl ausführen:
vi /etc/local/crontab.localUnd in ähnlicher Weise:
vi /etc/mcp/override/crontabFügen Sie den erforderlichen Eintrag ein oder fügen Sie ihn ein, wie im folgenden Beispiel gezeigt:
So fügen Sie
treedelete.sh täglich um 23 Uhr:
0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Hinweis: Die Leerzeichen zwischen den Einträgen werden mithilfe der Tabulatortaste erstellt. Die Sternchen weisen darauf hin, dass der cron-Ausdruck für alle Werte des Felds übereinstimmt. Im vorherigen Beispiel wäre dies jeder Tag des Monats, jeder Monat des Jahres, jeder Tag der Woche.
Die Verwendung von isi_ropc In Crontab-Einträgen
Das Hinzufügen von isi_ropc an einen crontab-Eintrag führt den übergebenen Befehl höchstens einmal pro Cluster und Version aus, unabhängig davon, auf wie vielen Nodes er ausgeführt wird. Ohne Markierung kann der Befehl auf dem Node mit der niedrigsten DevID ausgeführt werden. Alternativ können Sie das Attribut -s würde der Befehl auf einem zufälligen Node ausgeführt. Nachfolgend finden Sie ein Beispieleintrag:
# rotate log files on /ifs, too -- one node per cluster at a time
15,45 * * * * root isi_ropc newsyslog -f /etc/newsyslog.ifs.conf
Hinzufügen mehrerer Einträge zu einer Crontab-Datei.
Wenn eine Crontab-Datei mehrere Einträge aus einer anderen Datei erfordert, hängen Sie den Jobeintrag an. Dieses Beispiel, in dem path_to_file_with_entries ist die Datei, die die zu importierenden Einträge enthält:
cat /ifs/<path_to_file_with_entries> >> /etc/local/crontab.local
Überprüfen von Einträgen in einer crontab zu verwenden.
Überprüfen Sie, ob die Einträge an das crontab Dateien:
tail /etc/local/crontab.local
tail /etc/crontabEs wird eine Ausgabe ähnlich der folgenden angezeigt:
tail /etc/crontab # X: ---------------- # X: LOCAL # X: This section contains entries local to this node # X: only. This section is populated from the contents of # X: the file /etc/local/crontab.local if it exists. # X: ---------------- 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh tail /etc/local/crontab.local 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Änderungen an der Crontab-Datei rückgängig machen:
Mit diesen Schritten wird die crontab.local auf die Backupversion, die im vorherigen Abschnitt erstellt wurde.
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem Root-Konto an.
- Führen Sie den folgenden Befehl aus, um das ursprüngliche Backup der
crontab.localwird:
cp /etc/local/crontab.local.backup /etc/local/crontab.local
Additional Information
Vor OneFS 9.5 /etc/mcp/override/crontab.smbtime wurde verwendet, um Einträge durch Upgrades beizubehalten.
Seitdem wurde festgestellt, dass die Verwendung von OneFS 9.5 und höher /etc/mcp/override/crontab Geben Sie statt /etc/mcp/override/crontab.smbtime.