[LINUX] Registrieren Sie zum ersten Mal eine Aufgabe in cron

--Umgebung - Debian GNU/Linux 10 (buster) - apt 1.8.2 (amd64)

Ich möchte regelmäßig ein Git-Repository wie Redmine abrufen, ich habe zum ersten Mal versucht, eine Aufgabe bei cron zu registrieren

Installieren Sie cron mit apt

--Referenz

#Aktualisieren Sie die Repository-Liste
$ apt update
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
...Kürzung...
48 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '10.0' to '10.3'

#Suche nach cron
$ apt list cron
Listing... Done
cron/stable 3.0pl1-134+deb10u1 amd64

#Cron installieren
$ apt install -y cron
Reading package lists... Done
Building dependency tree
...Kürzung...
Processing triggers for mime-support (3.62) ...

#Überprüfen Sie das Verzeichnis auf cron
$ ls -la /etc/ | grep cron
drwxr-xr-x 2 root root      26 Apr  7 04:59 cron.d          #Verzeichnis zum Ablegen anderer automatischer Aufgabeneinstellungsdateien als der folgenden
drwxr-xr-x 1 root root      44 Apr  7 04:59 cron.daily      #Verzeichnis zum Ablegen der Datei für die automatische Aufgabeneinstellung, die jeden Tag ausgeführt wird
drwxr-xr-x 2 root root      26 Apr  7 04:59 cron.hourly     #Verzeichnis zum Ablegen der automatischen Aufgabeneinstellungsdatei, die stündlich ausgeführt wird
drwxr-xr-x 2 root root      26 Apr  7 04:59 cron.monthly    #Verzeichnis zum Ablegen der Datei für die automatische Aufgabeneinstellung, die jeden Monat ausgeführt wird
drwxr-xr-x 2 root root      26 Apr  7 04:59 cron.weekly     #Verzeichnis zum Ablegen der automatischen Aufgabeneinstellungsdatei, die jede Woche ausgeführt wird
-rw-r--r-- 1 root root    1042 Oct 11 07:58 crontab         #Stündliche, tägliche, monatliche, wöchentliche Hauptkonfigurationsdatei für automatische Aufgaben

#Überprüfen Sie den Startstatus von cron
$ /etc/init.d/cron status
[FAIL] cron is not running ... failed!

#Da ich gerade cron installiert habe, werden keine Aufgaben registriert
$ crontab -l
no crontab for root

#Starten Sie cron
$ /etc/init.d/cron start
[ ok ] Starting periodic command scheduler: cron.

#Überprüfen Sie den Startstatus von cron
$ /etc/init.d/cron status
[ ok ] cron is running.

Registrieren Sie Aufgaben bei cron, damit die Shell regelmäßig ausgeführt werden kann

# cron.Git in d Verzeichnis-Erstellen Sie eine Konfigurationsdatei mit dem Namen cron und registrieren Sie die Aufgabe
$ vi /etc/cron.d/git-cron
#Es scheint, dass die Einstellungsdatei am Ende eine leere Zeile benötigt
$ cat /etc/cron.d/git-cron
*/5 * * * * root /path/to/git-fetch.sh >> /var/log/cron.log 2>&1


#Geben Sie der Einstellungsdatei die Ausführungsberechtigung
$ chmod 755 /etc/cron.d/git-cron
$ ls -la /etc/cron.d/git-cron
-rwxr-xr-x 1 root root   51 Apr  7 05:46 git-cron

#Erstellen Sie eine Shell zum Ausführen
$ vi /path/to/git-fetch.sh
# (Nicht das Hauptthema)Der Inhalt besteht darin, Git of Redmine zu aktualisieren
$ cat /path/to/git-fetch.sh
#!/bin/sh
cd /path/to/hoge.git/
git fetch origin 'refs/heads/*:refs/heads/*'

cd /path/to/redmine
bundle exec rake redmine:fetch_changesets RAILS_ENV=production

#Geben Sie der Shell die Ausführungsberechtigung zum Ausführen
$ chmod 755 /path/to/git-fetch.sh
$ ls -la /path/to/git-fetch.sh
-rwxr-xr-x 1 root root 185 Apr  7 05:57 /path/to/git-fetch.sh

Was ist fehlgeschlagen

/bin/sh: 1: /path/to/git-fetch.sh: Permission denied --Event: Im Protokoll ist ein Fehler aufgetreten, der in der Einstellungsdatei ausgegeben werden sollte.

$ ls -la /path/to/git-fetch.sh
-rw-r--r-- 1 root    root    185 Apr  7 05:57 git-fetch.sh
$ chmod 755 /path/to/git-fetch.sh
$ ls -la /path/to/git-fetch.sh
-rwxr-xr-x 1 root root 185 Apr  7 05:57 /path/to/git-fetch.sh

Ich habe einen Fehler beim Schreiben von "Alle 5 Minuten ausführen" und "Alle 5 Minuten ausführen" gemacht.

Ich wollte "alle 5 Minuten ausführen", aber es war "alle 5 Minuten ausführen" ...

Referenz: So stellen Sie cron --Qiita ein

Minuten, Stunden, Tage, Montag{Ausführungsbefehl}
#Laufen Sie jede Stunde mit 5 Minuten
5 * * * * root {Ausführungsbefehl}
#Alle 5 Minuten ausführen
*/5 * * * * root {Ausführungsbefehl}

Recommended Posts

Registrieren Sie zum ersten Mal eine Aufgabe in cron
MongoDB mit Python zum ersten Mal
Kaguru zum ersten Mal
Ein nützlicher Hinweis, wenn Sie Python nach langer Zeit verwenden
Siehe Python zum ersten Mal
Starten Sie Django zum ersten Mal
Zusammenfassung der Stolperpunkte in Django zum ersten Mal
Ich habe zum ersten Mal Tensorflow ausprobiert
Ändern Sie die Liste in der for-Anweisung
Versuchen wir zum ersten Mal Linux
Was ich durch das Schreiben einer Python Pull-Anfrage zum ersten Mal in meinem Leben gelernt habe
Zum ersten Mal in Numpy werde ich es von Zeit zu Zeit aktualisieren
So verwenden Sie MkDocs zum ersten Mal
Machen Sie vorerst ein Histogramm (matplotlib)
Ich habe zum ersten Mal versucht, Python zu programmieren.
Ich habe Mind Meld zum ersten Mal ausprobiert
Versuchen Sie zum ersten Mal, in Qiita zu posten
Lassen Sie uns eine einfache Vorlage anzeigen, die ideal für den ersten Django ist
Drehen Sie in Python mehrere Listen mit for-Anweisung gleichzeitig
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Zum ersten Mal habe ich etwas über Unix (Linux) gelernt.
Bis Sie die Silbermedaille (Top 3%) in dem Wettbewerb gewinnen, an dem Sie innerhalb eines Monats zum ersten Mal in der Datenwissenschaft teilgenommen haben!
AI Gaming Ich habe es zum ersten Mal versucht
Lassen Sie uns ein Cron-Programm in Java erstellen! !! (TaskScheduler)
Ich besuchte die Schule und nahm zum ersten Mal am SIGNATE BEGINNER Limited-Wettbewerb teil.
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
Es ist okay, zum ersten Mal teilzunehmen! Ein Hackason-Starter-Kit, das Sie "vor" der Teilnahme am Hackason vorbereiten möchten!
Definieren Sie eine Aufgabe zum Festlegen der Fabric-Umgebung in YAML
Hinweise zum Einbetten der Skriptsprache in Bash-Skripte
Hinweis 2 zum Einbetten der Skriptsprache in ein Bash-Skript
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
Stellen Sie sich zum ersten Mal bei Qiita vor (Testbeitrag)
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Ich möchte vorerst eine Docker-Datei erstellen.
Wenn Sie zum ersten Mal Linux lernen, tun Sie dies!
Die Geschichte der Schaffung eines "Geist- und Zeit-Chatrooms" exklusiv für Ingenieure im Unternehmen
Was ist ein Hund? Django - Versuchen Sie zum ersten Mal, Form zu verwenden. POST-Übertragungsvolumen
Über die Notwendigkeit eines ersten Schrägstrichs im Abonnenten- und Herausgebernamen
Erstellen Sie in kürzester Zeit eine Selenium-Umgebung unter Amazon Linux 2
Schlafverarbeitung für einen bestimmten Zeitraum (Sekunden) oder länger in Python
Code, an den ich mich gerne erinnert hätte, als ich zum ersten Mal an AtCoder teilgenommen habe (Reflection 1 für das nächste Mal)
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Zum ersten Mal veröffentlichte GitHub x Circle CI ein Textüberprüfungstool von Python
Zum ersten Mal versuchte ein Programmieranfänger eine einfache Datenanalyse mit Programmierung
Einstellungen zum Ausführen eines Tests jedes Mal, wenn Sie eine Datei mit watchmedo (watchdog) im Editor speichern
Ich habe eine Funktion erstellt, um zu überprüfen, ob der Webhook vorerst in Lambda empfangen wird
Raspberry Pi --1 - Zum ersten Mal (Schließen Sie einen Temperatursensor an, um die Temperatur anzuzeigen)
Einführung in Deep Learning zum ersten Mal (Chainer) Japanische Zeichenerkennung Kapitel 3 [Zeichenerkennung anhand eines Modells]
Die Geschichte, zum ersten Mal seit 5 Jahren wieder an die Front zurückzukehren und Python Django umzugestalten
Der erste Schritt von Python Matplotlib
Versuchen Sie vorerst, FireBase Cloud Firestore mit Python zu verwenden
Wenn Sie neu in der Programmierung sind, warum machen Sie nicht vorerst ein "Spiel"? Die Geschichte
[Hi Py (Teil 1)] Ich möchte vorerst etwas machen, also setze zuerst ein Ziel.