Lösen Sie das Problem der regelmäßigen automatischen Dateilöschung durch Crontab + Shell-Skript unter Centos7

Lösen Sie das Problem der regelmäßigen automatischen Dateilöschung durch Crontab + Shell-Skript unter Centos7

Problembeschreibung:

In letzter Zeit besteht die Forderung, dass die Datenmenge, die jedes Mal von rsync synchronisiert wird, groß ist, die Datenbank-Bak-Datei jedoch beibehalten werden muss

Es reicht aus, es 7 Tage lang aufzubewahren, sodass Sie die Bak-Dateien im Ordner automatisch bereinigen müssen

Lösung:

Verwenden Sie Shell-Skript, um Aufgaben in Ordnern regelmäßig zu löschen

1. Erstellen Sie eine Shell-Datei

[root@zabbix-Skript]# vim backup_sql_clean.sh
#!/bin/sh
finde /data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ -mtime +10 -name "*.bak" -exec rm -rf {} \;

Parameterbeschreibung:

/data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ #Dies ist der Dateipfad

-mtime +10 #Dies ist die Anzahl der Tage, die aufbewahrt werden sollen, 10 bedeutet 10 Tage

-name "*.bak" #Dies ist der Name der zu löschenden Datei. Das Hinzufügen eines Suffixes bedeutet, dass Dateien dieses Typs gelöscht werden

Andere sind Linux-Befehle

2. Legen Sie die Shell-Dateiberechtigungen fest

[root@zabbix-Skript]# chown 777 backup_sql_clean.sh

3. Legen Sie die regelmäßige Crontab-Ausführung fest

Mit dem Befehl crontab können Sie Anweisungen festlegen, die regelmäßig ausgeführt werden sollen

Beschreibung des Crontab-bezogenen Befehls: https://www.jb51.net/article/151069.htm

[root@zabbix /]# crontab -e
0 0 * * 7 /data/script/backup_sql_clean.sh

4. Starten Sie den Crond-Prozess

Das Konzept von crond ist untrennbar mit crontab verbunden. Crontab ist ein Befehl, der häufig in Unix- und Unix-ähnlichen Betriebssystemen verwendet wird und dazu dient, Anweisungen festzulegen, die regelmäßig ausgeführt werden sollen.

Dieser Befehl liest Anweisungen vom Standardeingabegerät und speichert sie in der Datei „crontab“ zum späteren Lesen und Ausführen. Und crond ist sein Daemon.

[root@zabbix /]# systemctl status crond.service #Crond-Status anzeigen [root@zabbix /]# systemctl start crond.service #Crond-Dienst starten [root@zabbix /]# systemctl restart crond.service #Crond-Dienst neu starten

Auffüllen;

Hier ist eine Einführung in die geplante Dateilöschung in centOS7

1. Rufen Sie das Linux-System auf

2. Erstellen Sie in einem beliebigen Verzeichnis eine Datei mit der Endung sh, zum Beispiel:

3. Bearbeiten und öffnen Sie die Datei, wie in der Abbildung gezeigt:

4. Drücken Sie die Taste „i“ oder die Taste „Einfügen“ auf der Tastatur, um in den Bearbeitungsmodus zu wechseln.

eingeben:

#!/bin/sh
finde /data/iqmkj/backup/mysql -mtime +7 -name "*.sql" -exec rm -rf {} \;

Wie in der Abbildung gezeigt:

veranschaulichen:

"/data/iqmkj/backup/mysql": Das Verzeichnis, in dem sich die zu löschenden Dateien befinden.
„+7“: Die Anzahl der Tage, für die Dateien aufbewahrt werden sollen, d. h. Dateien, die älter als ein paar Tage sind, werden gelöscht.
„*.sql“: löscht Dateien mit der Endung .sql.
Die anderen sind feste Zeichen.

5: Speichern Sie die bearbeitete Datei

Drücken Sie die Taste „Esc“ auf der Tastatur und geben Sie dann „:wq“ in das aktuelle Fenster ein. Die Datei wurde erfolgreich gespeichert und kehrt automatisch zur Hauptoberfläche zurück.

6. Autorisieren Sie die Datei

eingeben:

chown 777 backup_mysql.sh

Wenn die Autorisierung fehlschlägt, wählen Sie die Datei direkt aus, klicken Sie mit der rechten Maustaste und legen Sie die Berechtigungen fest, um alle zu überprüfen, oder legen Sie „777“ fest.

7: Erstellen Sie einen Timer mit den geplanten Aufgaben von Centos7

Geben Sie „crontab -e“ in der Hauptschnittstelle ein, um die Schnittstelle zum Bearbeiten geplanter Aufgaben aufzurufen.

8. Geplante Aufgaben einrichten

Fügen Sie "0 4 * * * /data/iqmkj/backup/mysql/backup_mysql_clean.sh" ein.
veranschaulichen:
Der Dateipfad ist der im zweiten Schritt erstellte Dateipfad.

9. Konfiguration der geplanten Aufgabe speichern

Drücken Sie die Taste „Esc“ auf der Tastatur und geben Sie dann „:wq“ in das aktuelle Fenster ein. Die Datei wurde erfolgreich gespeichert und kehrt automatisch zur Hauptoberfläche zurück.

10. Starten Sie den Timer

Geben Sie auf der Hauptschnittstelle „/bin/systemctl start crond.service“ ein. Nun sind alle Konfigurationen abgeschlossen.

veranschaulichen:

Starten Sie die geplante Aufgabe: /bin/systemctl start crond.service
Stoppen Sie die geplante Aufgabe: /bin/systemctl stop crond.service
Starten Sie die geplante Aufgabe neu: /bin/systemctl restart crond.service
Überprüfen Sie den Status geplanter Aufgaben: /bin/systemctl status crond.service

Zusammenfassen

Oben habe ich Ihnen die Lösung des Problems der regelmäßigen automatischen Dateilöschung durch Crontab+Shell-Skript unter Centos7 vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So erstellen Sie eine kontinuierliche Integrationsumgebung mit Jenkins+Maven+Git auf CentOS7
  • Installieren Sie die virtuelle CentOS7-Maschine unter Win10
  • So legen Sie eine feste IP-Adresse in einer virtuellen CentOS7-Maschine fest
  • Centos7-Installation des in Nginx integrierten Lua-Beispielcodes
  • So verwenden Sie Yum zum Konfigurieren der lnmp-Umgebung im CentOS7.6-System
  • MySQL 8.0.13 Installations- und Konfigurations-Tutorial unter CentOS7.3
  • Rsync+crontab regelmäßige Synchronisierungssicherung unter centos7
  • Kompilieren und installieren Sie php7 auf CentOS7, um im PHP-FPM-Modus eine Verbindung zu Apache herzustellen
  • Detailliertes Tutorial zur Installation von MySQL 8.0.13 (rpm) auf Centos7
  • Drei Methoden zum Ändern des Hostnamens von Centos7

<<:  Detaillierte Installation und Konfiguration von MySql auf dem Mac

>>:  mysql5.7.18 dekomprimierte Version zum Starten des MySQL-Dienstes

Artikel empfehlen

Detaillierte Erläuterung der Implementierung der Nginx-Prozesssperre

Inhaltsverzeichnis 1. Die Rolle der Nginx-Prozess...

Detaillierte Erklärung der HTML-Formularelemente (Teil 2)

HTML-Eingabeattribute Das Value-Attribut Das Valu...

So erben Sie die CSS-Zeilenhöhe

Wie wird die Zeilenhöhe vererbt?Schreiben Sie ein...

Der praktische Prozess des Login-Status-Managements im vuex-Projekt

Inhaltsverzeichnis Werkzeug: Anmeldeszenario: übe...

Beispielcode zum Vergleich verschiedener Syntaxformate von vue3

Die Standardvorlagenmethode ähnelt vue2 und verwe...

Implementierung von TypeScript im React-Projekt

Inhaltsverzeichnis 1. Einleitung 2. Nutzung Zusta...

MySQL InnoDB-Überwachung (Systemebene, Datenbankebene)

MySQL InnoDB-Überwachung (Systemebene, Datenbanke...

Lösung für das Problem des MySQL-Datenverzögerungssprungs

Heute haben wir ein weiteres typisches Problem im...

Implementierungsmethode und Beispielcode des Tomcat-Klassenladers

Tomcat definiert intern mehrere ClassLoader, soda...