In letzter Zeit möchte ich regelmäßig wichtige interne Serverdaten auf dem Speicher sichern und nebenbei eine Notiz machen Ich habe zuvor ein Bat-Skript für cwrsync (Client) + rsync (Server: Speicher) unter Windows entwickelt. Dieses Mal wird ein Linux-Skript sh verwendet, um eine regelmäßige automatische Datensicherung durchzuführen. Client: 192.168.0.100 (rsync-Linux) Server: 192.168.0.252 (Speicher) Einführung in rsync: Rsync ist ein Datenspiegelungs-Backup-Tool unter dem Linux-System. Verwenden Sie das schnelle inkrementelle Sicherungstool Remote Sync, um remote zu synchronisieren, die lokale Replikation zu unterstützen oder mit anderen SSH- und rsync-Hosts zu synchronisieren. 1. Serverkonfiguration: Der Rsync-Server ist hauptsächlich der Speicher von Qunhui und verfügt daher über eine direkte Schnittstellenkonfiguration. Daher werde ich hier nicht näher darauf eingehen, wie unten gezeigt: 2. Client-Konfiguration: Erstellen Sie eine Kennwortdatei, /etc/rsyncd/rsyncd.pass, und ändern Sie die Berechtigungen auf 600 [root@localhost ~]# mkdir rsyncd [root@localhost ~]# vim /rsyncd/rsyncd.pass [root@localhost ~]# chmod 600 /rsyncd/rsyncd.pass ▲Hinweis: Das Kennwort in /rsyncd/rsyncd.pass muss mit dem Kennwort von /etc/rsyncd/rsyncd.pass des Servers oder dem Kennwort des angegebenen rsync-Benutzers übereinstimmen. Der Client überträgt Dateien an den Server. Wenn es Port 873 ist, können Sie das --port entfernen rsync -arvz --progress /data [email protected]::log --password-file=/rsyncd/rsyncd.pass Bei Bedarf können Sie auch Dateien vom Server ziehen. Sie müssen write only = yes in der Datei /etc/rsyncd/rsyncd.conf des Servers entfernen. #Ziehen Sie das gesamte Verzeichnis rsync -arvz --progress --password-file=/rsyncd/rsyncd.pass --port=873 [email protected]::log /var/log #Eine einzelne Datei abrufen rsync -arvz --progress --password-file=/rsyncd/rsyncd.pass --port=873 [email protected]::log/a.log /var/log Konfigurationsparameter des Rsync-Servers: Alle Parameter vor [module] in der Datei sind globale Parameter. Natürlich können Sie im globalen Parameterteil auch Modulparameter definieren. In diesem Fall ist der Wert des Parameters der Standardwert für alle Module. Hafen Gibt die vom Hintergrundprogramm verwendete Portnummer an. Der Standardwert ist 873. motd-Datei Mit dem Parameter „motd-Datei“ wird eine Nachrichtendatei angegeben. Der Inhalt dieser Datei wird dem Client angezeigt, wenn er sich mit dem Server verbindet. Standardmäßig gibt es keine motd-Datei. Protokolldatei „Protokolldatei“ gibt die Protokolldatei für rsync an, anstatt das Protokoll an Syslog zu senden. Es kann beispielsweise als „/var/log/rsyncd.log“ angegeben werden. PID-Datei Geben Sie die Rsync-PID-Datei an, die normalerweise als „/var/run/rsyncd.pid“ angegeben wird. Syslog-Einrichtung Gibt die Nachrichtenebene an, auf der rsync Protokollnachrichten an syslog sendet. Gängige Nachrichtenebenen sind: uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3, local4, local5, local6 und local7. Der Standardwert ist Daemon. Die Modulparameter definieren hauptsächlich, welches Verzeichnis des Servers synchronisiert werden soll. Das Format muss „[Modul]“ sein. Dieser Name wird vom rsync-Client angezeigt und ähnelt in etwa dem vom Samba-Server bereitgestellten Freigabenamen. Durch den Pfad werden die Daten angegeben, die der Server tatsächlich synchronisiert. Wir können je nach Bedarf mehrere Module angeben. Die folgenden Parameter können im Modul definiert werden: Kommentar Weisen Sie dem Modul eine Beschreibung zu, die den Clients zusammen mit dem Modulnamen angezeigt wird, wenn sie eine Verbindung herstellen, um eine Liste der Module abzurufen. Standardmäßig ist keine Beschreibung definiert. Weg Gibt den Verzeichnisbaumpfad für die Sicherung dieses Moduls an. Dieser Parameter ist erforderlich. chroot verwenden Wenn „use chroot“ als „true“ angegeben ist, führt rsync vor der Übertragung von Dateien zunächst einen Chroot-Vorgang in das durch den Pfadparameter angegebene Verzeichnis durch. Der Grund hierfür besteht darin, einen zusätzlichen Sicherheitsschutz zu erreichen. Der Nachteil besteht jedoch darin, dass hierfür Root-Berechtigungen erforderlich sind und keine Verzeichnisdateien gesichert werden können, auf die über externe symbolische Links verwiesen wird. Standardmäßig ist der Chroot-Wert true. Benutzerkennung Diese Option gibt die UID an, die der Daemon haben soll, wenn das Modul Dateien überträgt. In Verbindung mit der Option gid kann sie bestimmen, auf welche Dateiberechtigungen zugegriffen werden kann. Der Standardwert ist „nobody“. gid Diese Option gibt die GID an, die der Daemon haben soll, wenn dieses Modul Dateien überträgt. Der Standardwert ist „niemand“. Max. Verbindungen Geben Sie die maximale Anzahl gleichzeitiger Verbindungen für dieses Modul an, um den Server zu schützen. Verbindungsanfragen, die das Limit überschreiten, werden benachrichtigt und später erneut versucht. Der Standardwert ist 0, was bedeutet, dass keine Begrenzung besteht. Liste Diese Option gibt an, ob dieses Modul aufgelistet werden soll, wenn ein Client eine Liste der verfügbaren Module anfordert. Wenn Sie diese Option auf „False“ setzen, können versteckte Module erstellt werden. Der Standardwert ist „true“. schreibgeschützt Diese Option legt fest, ob Clients Dateien hochladen dürfen. Wenn der Wert auf „true“ gesetzt ist, schlägt jede Upload-Anforderung fehl. Wenn der Wert auf „false“ gesetzt ist und die Lese- und Schreibberechtigungen für das Serververzeichnis dies zulassen, wird der Upload zugelassen. Der Standardwert ist „true“. ausschließen Wird verwendet, um mehrere durch Leerzeichen getrennte Dateien oder Verzeichnisse (relative Pfade) anzugeben und sie zur Ausschlussliste hinzuzufügen. Dies entspricht der Verwendung von --exclude zum Angeben des Musters im Clientbefehl. Für ein Modul kann nur eine Ausschlussoption angegeben werden. Zu beachten ist jedoch, dass diese Option gewisse Sicherheitsprobleme mit sich bringt. Kunden umgehen die Ausschlussliste wahrscheinlich. Wenn Sie sicherstellen möchten, dass auf bestimmte Dateien nicht zugegriffen werden kann, verwenden Sie sie am besten in Verbindung mit der Option uid/gid. ausschließen von Gibt einen Dateinamen an, der die Definition der Ausschlussmuster enthält. Der Server liest die Definition der Ausschlussliste aus dieser Datei. enthalten Wird verwendet, um anzugeben, dass Dateien oder Verzeichnisse, die die Anforderungen erfüllen, nicht ausgeschlossen werden. Dies entspricht der Verwendung von --include im Client-Befehl zum Angeben des Musters. Durch die Kombination von include und exclude können komplexe Ausschluss-/Einschlussregeln definiert werden. umfassen von Gibt einen Dateinamen an, der die Definition von Include-Mustern enthält. Der Server liest die Include-Listendefinition aus dieser Datei. Authentifizierungsbenutzer Diese Option gibt eine durch Leerzeichen oder Kommas getrennte Liste von Benutzernamen an, die eine Verbindung zu diesem Modul herstellen dürfen. Die Benutzer hier haben nichts mit Systembenutzern zu tun. Wenn „auth users“ gesetzt ist, wird die Verbindungsanfrage des Clients an das Modul von rsync zur Identitätsüberprüfung abgefragt. Das hier verwendete Challenge/Response-Authentifizierungsprotokoll. Der Name und das Passwort des Benutzers werden im Klartext in der Datei gespeichert, die durch die Option „Geheimnisdatei“ angegeben wird. Standardmäßig können Sie sich ohne Kennwort (also anonym) mit dem Modul verbinden. Secrets-Datei Diese Option gibt eine Datei an, die definierte Benutzername:Passwort-Paare enthält. Diese Datei hat nur dann eine Wirkung, wenn „Auth-Benutzer“ definiert ist. Jede Zeile der Datei enthält ein Benutzername:Passwort-Paar. Generell sollte das Passwort nicht länger als 8 Zeichen sein. Es gibt keinen standardmäßigen sicheren Dateinamen, Sie müssen einen angeben (z. B.: /etc/rsyncd.passwd). Hinweis: Die Dateiberechtigung muss 600 betragen, sonst kann der Client keine Verbindung zum Server herstellen. strenge Modi Diese Option gibt an, ob die Berechtigungen der Kennwortdatei überwacht werden sollen. Wenn der Optionswert true ist, kann nur der Benutzer, der den rsync-Server betreibt, auf die Kennwortdatei zugreifen. Kein anderer Benutzer kann auf die Datei zugreifen. Der Standardwert ist „true“. Gastgeber erlauben Diese Option gibt an, welche IP-Clients eine Verbindung zu diesem Modul herstellen dürfen. Eine Kundenschemadefinition kann folgende Form haben: Eine einzelne IP-Adresse, zum Beispiel: 192.167.0.1 Das gesamte Netzwerksegment, zum Beispiel: 192.168.0.0/24 oder 192.168.0.0/255.255.255.0 Mehrere IPs oder Netzwerksegmente müssen durch Leerzeichen getrennt werden, und „*“ bedeutet alle. Standardmäßig dürfen alle Hosts eine Verbindung herstellen. Gastgeber bestreiten Um Maschinen anzugeben, die keine Verbindung zum Rsync-Server herstellen dürfen, können Sie sie mit der Methode „Hosts Allow Definition“ definieren. Standardmäßig gibt es keine Host-Denk-Definition. Fehler ignorieren Gibt an, dass rsyncd IO-Fehler auf dem Server ignoriert, wenn bestimmt wird, ob der Löschvorgang während der Übertragung ausgeführt werden soll. Im Allgemeinen überspringt rsync den Vorgang --delete, wenn ein IO-Fehler auftritt, um schwerwiegende Probleme aufgrund vorübergehender Ressourcenknappheit oder anderer IO-Fehler zu vermeiden. nicht lesbar ignorieren Gibt an, dass der Rysnc-Server Dateien vollständig ignoriert, für die der Benutzer keine Zugriffsberechtigung hat. Dies ist in Situationen sinnvoll, in denen sich im zu sichernden Verzeichnis Dateien befinden, auf die der Sicherungsempfänger nicht zugreifen soll. Sperrdatei Gibt die Sperrdatei an, die den Parameter „Max. Verbindungen“ unterstützt. Der Standardwert ist /var/run/rsyncd.lock. Übertragungsprotokollierung Bewirkt, dass der Rsync-Server Download- und Upload-Vorgänge in einem eigenen separaten Protokoll in FTP-formatierten Dateien protokolliert. Protokollformat Mit dieser Option können Benutzer die Felder der Protokolldatei anpassen, wenn sie die Übertragungsprotokollierung verwenden. Sein Format ist eine Zeichenfolge, die Formatbezeichner enthält. Die verfügbaren Formatbezeichner sind wie folgt: %h Remote-Hostname %a Remote-IP-Adresse %l Dateilänge in Zeichen %p Prozess-ID dieser Rsync-Sitzung %o Operationstyp: „senden“ oder „empfangen“ %f Dateiname %P Modulpfad %m Modulname %t aktuelle Zeit %u authentifizierter Benutzername (null für anonym) %b Die tatsächliche Anzahl der übertragenen Bytes %c Beim Senden einer Datei zeichnet dieses Feld die Prüfsumme der Datei auf. Das Standardprotokollformat ist: "%o %h [%a] %m (%u) %f %l". Im Allgemeinen wird "%t [%p] " zum Header jeder Zeile hinzugefügt. Im Quellcode ist auch ein Perl-Skript namens rsyncstats veröffentlicht, um Protokolldateien in diesem Format zu zählen. Time-out Mit dieser Option kann die vom Kunden angegebene IP-Timeout-Periode überschrieben werden. Diese Option stellt sicher, dass der Rsync-Server nicht ewig auf einen abgestürzten Client wartet. Die Timeout-Einheit ist Sekunden. 0 bedeutet, dass kein Timeout definiert ist. Dies ist auch der Standardwert. Für einen anonymen Rsync-Server ist 600 eine gute Zahl. Optionen ablehnen Mit dieser Option kann eine Liste von Befehlsparametern definiert werden, die Clients für dieses Modul nicht verwenden dürfen. Dabei ist der vollständige Befehlsname zu verwenden, nicht die Abkürzung. Wenn ein Befehl jedoch abgelehnt wird, meldet der Server eine Fehlermeldung und wird beendet. Um die Verwendung der Komprimierung zu verhindern, sollte es heißen: „dont compress = *“. nicht komprimieren Wird verwendet, um Dateien anzugeben, die nicht komprimiert und übertragen werden. Der Standardwert ist *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz Allgemeine rsync-Befehle: -v, --verbose Ausführlicher Ausgabemodus -q, --quiet Prägnanter Ausgabemodus -c, --checksum Schaltet den Prüfsummenschalter ein, um die Überprüfung von Dateiübertragungen zu erzwingen -a, --archive Archivmodus, was bedeutet, dass Dateien rekursiv übertragen werden und alle Dateiattribute beibehalten werden, was -rlptgoD entspricht -r, --recursive Unterverzeichnisse rekursiv verarbeiten -R, --relative Relative Pfadangaben verwenden -b, --backup Eine Sicherungskopie erstellen, d. h. wenn der gleiche Dateiname für das Ziel bereits existiert, die alte Datei in ~Dateiname umbenennen. Mit der Option --suffix können Sie ein anderes Präfix für die Sicherungsdatei angeben. --backup-dir Speichert die Sicherungsdatei (z. B. ~Dateiname) im Verzeichnis. -suffix=SUFFIX definiert das Sicherungsdateipräfix -u, --update aktualisiert nur, d. h. überspringt alle Dateien, die bereits in der DST vorhanden sind und deren Dateizeit nach der der zu sichernden Dateien liegt. (Aktualisierte Dateien nicht überschreiben) : : : : : : : : : : : : : : : -T --temp-dir=DIR Erstellt temporäre Dateien in DIR --compare-dest=DIR Vergleicht auch die Dateien in DIR, um zu bestimmen, ob sie gesichert werden müssen -P Entspricht --partial --progress Zeigt den Backup-Prozess an -z, --compress Komprimiert die gesicherten Dateien während der Übertragung --exclude=MUSTER Gibt das Dateimuster an, das nicht übertragen werden muss --include=MUSTER Gibt das Dateimuster an, das übertragen werden muss, aber nicht ausgeschlossen ist --exclude-from=DATEI Schließt Dateien mit dem angegebenen Muster in DATEI aus --include-from=DATEI Schließt Dateien, die dem angegebenen Muster in DATEI entsprechen, nicht aus --version Gibt Versionsinformationen aus --address Bindet an eine bestimmte Adresse --config=DATEI Gibt andere Konfigurationsdateien an, verwendet nicht die Standarddatei rsyncd.conf --port=PORT Gibt andere Ports für den Rsync-Dienst an --blocking-io Verwendet blockierende IO für Remote-Shell -stats gibt den Übertragungsstatus einiger Dateien an --progress zeigt den Übertragungsfortschritt während der Übertragung an --log-format=formAT gibt das Protokolldateiformat an --password-file=FILE ruft das Kennwort aus der DATEI ab --bwlimit=KBPS begrenzt die I/O-Bandbreite auf KBytes pro Sekunde -h, --help Hilfeinformationen anzeigen Crontab-Einführung: Crond ist ein Daemon-Prozess, der in Linux verwendet wird, um regelmäßig bestimmte Aufgaben auszuführen oder auf die Verarbeitung bestimmter Ereignisse zu warten. Er ähnelt den geplanten Aufgaben in Windows. Bei der Installation des Betriebssystems wird dieses Servicetool standardmäßig installiert und der Crond-Prozess automatisch gestartet. Der Crond-Prozess prüft regelmäßig jede Minute, ob Aufgaben auszuführen sind. Wenn Aufgaben auszuführen sind, werden die Aufgaben automatisch ausgeführt. Die Aufgabenplanung unter Linux ist in zwei Kategorien unterteilt: Systemaufgabenplanung und Benutzeraufgabenplanung. Planung von Systemaufgaben: Die Arbeit, die das System regelmäßig ausführen muss, wie z. B. das Schreiben von Cache-Daten auf die Festplatte, das Bereinigen von Protokollen usw. Im Verzeichnis /etc befindet sich eine Crontab-Datei. Dabei handelt es sich um die Konfigurationsdatei für die Planung von Systemaufgaben. Die Datei /etc/crontab enthält die folgenden Zeilen: [root@localhost ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=""HOME=/ # Laufteile 51 * * * * root-Ausführungsteile /etc/cron.hourly 24 7 * * * root-run-parts /etc/cron.daily 22 4 * * 0 root-Ausführungsteile /etc/cron.weekly 42 4 1 * * root-Ausführungsteile /etc/cron.monthly Die ersten vier Zeilen werden verwendet, um die Umgebungsvariablen für die Ausführung der Crond-Aufgabe zu konfigurieren. Die erste Zeile der Variable SHELL gibt an, welche Shell das System verwenden wird, hier ist es bash. Die zweite Zeile der Variable PATH gibt den Pfad an, in dem das System Befehle ausführt. Die dritte Zeile der Variable MAILTO gibt an, dass die Informationen zur Ausführung der Crond-Aufgabe per E-Mail an den Root-Benutzer gesendet werden. Wenn der Wert der Variable MAILTO leer ist, bedeutet dies, dass die Informationen zur Aufgabenausführung nicht an den Benutzer gesendet werden. Die vierte Zeile der Variable HOME gibt das Home-Verzeichnis an, das beim Ausführen von Befehlen oder Skripten verwendet wird. Planung von Benutzeraufgaben: Aufgaben, die Benutzer regelmäßig ausführen müssen, z. B. Sicherung von Benutzerdaten, geplante E-Mail-Erinnerungen usw. Benutzer können das Crontab-Tool verwenden, um ihre eigenen geplanten Aufgaben anzupassen. Alle benutzerdefinierten Crontab-Dateien werden im Verzeichnis /var/spool/cron gespeichert. Der Dateiname ist der gleiche wie der Benutzername. Bedeutung der Crontab-Datei: In der vom Benutzer erstellten Crontab-Datei stellt jede Zeile eine Aufgabe dar und jedes Feld in jeder Zeile stellt eine Einstellung dar. Das Format ist in sechs Felder unterteilt. Die ersten fünf Segmente sind Zeiteinstellungssegmente und das sechste Segment ist das auszuführende Befehlssegment. Das Format ist wie folgt: Minute Stunde Tag Monat Woche Befehl In: Minute: stellt die Minute dar, die eine beliebige Ganzzahl zwischen 0 und 59 sein kann. Stunde: stellt die Stunde dar, die eine beliebige Ganzzahl zwischen 0 und 23 sein kann. Tag: stellt das Datum dar, das eine beliebige Ganzzahl zwischen 1 und 31 sein kann. Monat: stellt den Monat dar, der eine beliebige Ganzzahl zwischen 1 und 12 sein kann. Woche: stellt den Wochentag dar, der eine beliebige Ganzzahl zwischen 0 und 7 sein kann, wobei 0 oder 7 für Sonntag steht. Befehl: Der auszuführende Befehl, der ein Systembefehl oder eine von Ihnen selbst geschriebene Skriptdatei sein kann. In jedem der oben genannten Felder können außerdem die folgenden Sonderzeichen verwendet werden: Sternchen (*): steht für alle möglichen Werte. Wenn das Monatsfeld beispielsweise ein Sternchen enthält, bedeutet dies, dass der Befehlsvorgang jeden Monat ausgeführt wird, nachdem die Einschränkungen anderer Felder erfüllt sind. Komma (,): Sie können einen durch Kommas getrennten Wertebereich als Liste angeben, zum Beispiel „1,2,5,7,8,9“ Mittlerer Strich (-): Sie können den mittleren Strich zwischen ganzen Zahlen verwenden, um einen Bereich von ganzen Zahlen darzustellen. Beispielsweise bedeutet „2-6“ „2,3,4,5,6“. Schrägstrich (/): Mit einem Schrägstrich können Sie die Häufigkeit des Zeitintervalls angeben. „0-23/2“ bedeutet beispielsweise eine Ausführung alle zwei Stunden. Gleichzeitig können Schrägstriche zusammen mit Sternchen verwendet werden. Beispielsweise bedeutet */10 im Minutenfeld eine Ausführung alle zehn Minuten. Allgemeine Befehle in Crontab: 1. Crontab-Dateien auflisten Um die Crontab-Dateien aufzulisten, verwenden Sie: [root@localhost ~]# crontab -l 0,15,30,45,18-06 * * * /bin/echo `Datum` > dev/tty Sie werden etwas Ähnliches wie oben sehen. Mit dieser Methode können Sie eine Sicherungskopie der Crontab-Datei im Verzeichnis $HOME erstellen: [root@localhost ~]# crontab -l > $HOME/mycron Wenn Sie die Crontab-Datei versehentlich löschen, können Sie sie auf diese Weise mit der im vorherigen Abschnitt beschriebenen Methode schnell wiederherstellen. 2. Bearbeiten Sie die Crontab-Datei Wenn Sie Einträge in einer Crontab-Datei hinzufügen, löschen oder bearbeiten möchten und die Bearbeitungsumgebungsvariable auf vi eingestellt ist, können Sie vi zum Bearbeiten der Crontab-Datei verwenden. Der entsprechende Befehl lautet: [root@localhost ~]# crontab -e Sie können die Crontab-Datei wie jede andere Datei mit „vi“ und „exit“ ändern. Wenn einige Einträge geändert oder neue Einträge hinzugefügt werden, führt cron beim Speichern der Datei die erforderlichen Integritätsprüfungen durch. Wenn in einem der Felder ein Wert außerhalb des zulässigen Bereichs angezeigt wird, erhalten Sie eine entsprechende Aufforderung. Wenn wir die Crontab-Datei bearbeiten, können wir neue Einträge hinzufügen. Fügen Sie beispielsweise Folgendes hinzu: # DT: Kerndateien löschen, um 3:30 Uhr am 1., 7., 14., 21., 26. und 26. Tag jedes Monats (Kommentare) 30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} \; Jetzt speichern und beenden. Es empfiehlt sich, jedem Eintrag in der Crontab-Datei einen Kommentar hinzuzufügen, damit Sie wissen, was er tut, wann er ausgeführt wird und, noch wichtiger, wer der Benutzer ist, der die Arbeit ausführt. Verwenden wir nun den zuvor erwähnten Befehl crontab -l, um alle Informationen aufzulisten: [root@localhost ~]# crontab -l # (crondave installiert am Dienstag, 4. Mai 1999, 13:07:43) # DT:ech das Datum alle 30 Minuten an die Konsole 0,15,30,45 18-06 * * * /bin/echo `Datum` > /dev/tty1 # DT: Kerndateien löschen, um 3.30 Uhr am 1., 7., 14., 21., 26. und 26. Tag jedes Monats 30 3 1,7,14,21,26 * * /bin/find -name "core" -exec rm {} \; 3. Crontab-Datei löschen Um die Crontab-Datei zu löschen, können Sie Folgendes verwenden: [root@localhost ~]# crontab -r Beispiele für die Verwendung von Crontab Beispiel 1: Befehl einmal pro Minute ausführen Befehl: * * * * * Befehl Beispiel 2: Führen Sie das Skript rsync-sh jeden Sonntagabend um 00:00 Uhr aus Befehl: [root@localhost ~]# crontab -e # DT:Führe das rsync-sh-Skript jeden Sonntag um 00:00 aus (Kommentare) 0 0 * * 7 sh /root/rsyncd/rsync-gitbak.sh Der rsync-Client synchronisiert sich automatisch mit dem rsync-Server: Lassen Sie uns zunächst ein Shell-Skript erstellen [root@localhost rsyncd]# vim rsyncd.sh #!/bin/bash rsync -arvz --progress /data [email protected]::log --password-file=/rsyncd/rsyncd.pass Befehl: crontab -e zum Bearbeiten und Hinzufügen geplanter Aufgaben [root@localhost ~]# crontab -e # DT:Führe das rsync-sh-Skript jeden Sonntag um 00:00 aus (Kommentare) 0 0 * * 7 sh /root/rsyncd/rsyncd.sh Verwenden Sie crontab -l, um die hinzugefügten geplanten Aufgaben anzuzeigen [root@localhost ~]# crontab -l 0 0 * * 7 sh /root/rsyncd/rsyncd.sh Beachten: 1. Wenn das Programm zum angegebenen Zeitpunkt ausgeführt wird, sendet Ihnen das System eine E-Mail mit dem Inhalt der Programmausführung. Wenn Sie keine solchen E-Mails erhalten möchten, fügen Sie nach jeder Zeile mit einem Leerzeichen > /dev/null 2>&1 hinzu. 2. % wird in der Crontab als Zeilenumbruch betrachtet und muss daher mit \ maskiert werden. Wenn beispielsweise in der Crontab-Ausführungszeile „date +%Y%m%d“ steht, muss dies durch „date +\%Y\%m\%d“ ersetzt werden. Aufgetretene Probleme und Lösungen: Ich habe das sh-Skript unter Windows bearbeitet und auf Linux hochgeladen. Als ich es ausführte, erschien eine Fehlermeldung: fehlerhafter Interpreter: Keine solche Datei oder kein solches Verzeichnis vim rsyncd.sh Verwenden Sie den Befehl: set ff?, um zu prüfen, ob es im Doc- oder Unix-Format vorliegt. Wenn es im Dos-Format vorliegt, verwenden Sie den Befehl: set ff=unix, um es in das Unix-Format zu konvertieren Das könnte Sie auch interessieren:
|
<<: JS-Prinzip der asynchronen Ausführung und Rückrufdetails
>>: So ändern Sie die Zeichensatzkodierung in MySQL 5.5/5.6 unter Linux auf UTF8
Linux verwendet Dateien als Grundlage, um die Ger...
Inhaltsverzeichnis Überblick Vier Beispiele Beisp...
Körperteil: <button>Licht ein-/ausschalten&...
1. Im vorherigen Kapitel haben wir gelernt, dass ...
Was ist der Unterschied zwischen der grünen Versi...
Studierende, die Ansible verwenden, wissen, dass ...
Makrotasks und Mikrotasks JavaScript ist eine Sin...
1. Navigation: Ungeordnete Liste vs. andere Besch...
In diesem Artikelbeispiel wird der spezifische Co...
Nach der Installation der neuesten Version 8.0.11...
MySQL 4.x und höher bieten Unterstützung für die ...
Problem: Der Überlauf der Auto-Increment-ID in ei...
In diesem Artikel werden die Installations- und K...
Lernen wir verschiedene Arten von Schleifen kenne...
In diesem Artikelbeispiel wird der spezifische Co...