Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:repository_spiegeln_centos_7

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:repository_spiegeln_centos_7 [2014/12/12 14:27] klaustachtler:repository_spiegeln_centos_7 [2014/12/12 15:00] (aktuell) – [Befehl: rsync] klaus
Zeile 181: Zeile 181:
 transferieren würde! transferieren würde!
 <code> <code>
-# /usr/bin/rsync -varlHt --progress --delete-after --delay-updates --timeout=300  +# /usr/bin/rsync -varlHt --progress --delete-after --delay-updates --timeout=300 --exclude SRPMS/ ftp-stud.fht-esslingen.de::centos/7.0.1406/os/x86_64/repodata/ /tmp/test
---exclude SRPMS/ ftp-stud.fht-esslingen.de::centos/7.0.1406/os/x86_64/repodata/ /tmp/test+
 Welcome to the ftp-stud.hs-esslingen.de archives. Welcome to the ftp-stud.hs-esslingen.de archives.
  
Zeile 465: Zeile 464:
 # Check if command (file) NOT exist OR IS empty. # Check if command (file) NOT exist OR IS empty.
 if [ ! -s "$RSYNC_COMMAND" ]; then if [ ! -s "$RSYNC_COMMAND" ]; then
-        log "Check if command '$RSYNC_COMMAND' was found................[FAILED]"+        log "Check if command '$RSYNC_COMMAND' was found....................[FAILED]"
         sendmail ERROR         sendmail ERROR
  movelog  movelog
         exit 10         exit 10
 else else
-        log "Check if command '$RSYNC_COMMAND' was found................[  OK  ]"+        log "Check if command '$RSYNC_COMMAND' was found....................[  OK  ]"
 fi fi
  
Zeile 535: Zeile 534:
 # Check if command (file) NOT exist OR IS empty. # Check if command (file) NOT exist OR IS empty.
 if [ ! -s "$PROG_SENDMAIL" ]; then if [ ! -s "$PROG_SENDMAIL" ]; then
-        log "Check if command '$PROG_SENDMAIL' was found............[FAILED]"+        log "Check if command '$PROG_SENDMAIL' was found................[FAILED]"
         sendmail ERROR         sendmail ERROR
  movelog  movelog
         exit 17         exit 17
 else else
-        log "Check if command '$PROG_SENDMAIL' was found............[  OK  ]"+        log "Check if command '$PROG_SENDMAIL' was found................[  OK  ]"
 fi fi
  
Zeile 636: Zeile 635:
   * e-Mail Benachrichtigung im Fehlerfall   * e-Mail Benachrichtigung im Fehlerfall
   * **optional** e-Mail Benachrichtigung bei erfolgreicher Ausführung   * **optional** e-Mail Benachrichtigung bei erfolgreicher Ausführung
 +
 +==== Einbindung als cron-job ====
 +
 +Nachfolgend soll das oben genannte Script als **''cron''**-Job mit täglicher (nächtlicher) Ausführung eingerichtet werden.
 +
 +Dazu sollte als erstes nachfolgendes Verzeichnis
 +  * **''/root/bin''**
 +mit nachfolgendem Befehl erstellt werden:
 +<code>
 +# mkdir /root/bin/
 +</code>
 +
 +Anschließend sollte das Script, in dem mit obigem Befehl erstellte Verzeichnis hinterlegt werden. Das Verzeichnis sollte wie folgt aussehen, was mit nachfolgendem Befehl überprüft werden kann:
 +<code>
 +# ls -l /root/bin
 +total 56
 +-rw-r--r--  1 root root 12874 Dec 12 14:24 rsync_centos70.sh
 +</code>
 +
 +Evtl. sollten noch die Dateirechte mit nachfolgendem Befehl, wie folgt angepasst werden:
 +<code>
 +# chmod 750 /root/bin/rsync_centos70.sh
 +</code>
 +
 +Eine erneute Abfrage des Verzeichnisses mit nachfolgendem Befehl sollte dann eine Ausgabe in etwa wie folgende ergeben:
 +<code>
 +# ls -l /root/bin
 +total 56
 +-rwxr-xr-x  1 root root 12874 Dec 12 14:24 rsync_centos70.sh
 +</code>
 +
 +=== 1. Möglichkeit ====
 +
 +Einbindung des Scripts zur Ausführung als **''cron''**-job in die Konfigurationsdatei 
 +  * **''/etc/crontab''**
 +welches in diesem Fall eine Ausführung des Scripts **täglich** um **02:00 Uhr (nachts)** veranlassen würde.
 +
 +Was durch hinzufügen von nachfolgender Zeile zur Konfigurationsdatei **''/etc/crontab''** erfolgen kann (**nur relevanter Ausschnitt**):
 +<code ini>
 +...
 +00 02 * * * root /root/bin/rsync_centos70.sh  > /dev/null 2>&1
 +...
 +</code>
 +
 +=== 2. Möglichkeit ====
 +
 +Einbindung eines **Links** auf das Scripts, zur Ausführung als **''cron''**-job in das Verzeichnis
 +  * **''/etc/cron.daily''**
 +welches in diesem Fall eine Ausführung des Scripts **täglich** je nach Konfiguration in der Konfigurationsdatei
 +  * **''/etc/anacrontab''** 
 +hier als **Standard** zwischen **03:00-22:00 Uhr, mit einer addierten Zufälligkeit von 45 Minuten und einer zufälligen Abweichung von 5 Minuten** veranlassen würde.
 +
 +Dies kann durch Ausführen des nachfolgenden Befehls erfolgen:
 +<code>
 +# ln -fs /root/bin/rsync_centos70.sh /etc/cron.daily/rsync_centos70.sh
 +</code>
 +
 +Zu Überprüfung, ob der Link korrekt erstellt wurde, kann nachfolgender Befehl ausgeführt werden:
 +<code>
 +# ls -l /etc/cron.daily
 +total 8
 +-rwxr-xr-x. 1 root root 332 Jun 27 13:07 0yum-daily.cron
 +-rwx------. 1 root root 180 Jul 31  2013 logrotate
 +-rwxr-xr-x. 1 root root 618 Mar 17  2014 man-db.cron
 +lrwxrwxrwx  1 root root  27 Dec 12 14:42 rsync_centos70.sh -> /root/bin/rsync_centos70.sh
 +</code>
 +
 +==== Logrotate ====
 +
 +Das Script **''/root/bin/rsync_centos70.sh''** erzeugt eine **LOG**-Datei mit nachfolgender Bezeichnung und folgendem Speicherort:
 +  * **''/var/log/rsync_centos70.sh''**
 +
 +Um das stetige Anwachsen und die Größe dieser **LOG**-Datei nicht ins unendliche zu treiben, wäre es sinnvoll die **LOG**-Datei mit **Linux**-Bordmitteln in regelmäßigen Abständen zu rotieren.
 +
 +Dies kann durch die Anlage eines **neuen**, nachstehend gezeigten Scripts, erfolgen. Der Speicherort muss hier:
 +  * **''/etc/logrotate.d''**
 +sein und das Script kann folgenden Namen tragen:
 +  * **''rsync_centos70''**
 +
 +Der Inhalt des Scripts **''/etc/logrotate.d/rsync_centos70''** sieht folgendermaßen aus:
 +<code ini>
 +/var/log/rsync_centos70.log {
 +    weekly
 +    rotate 4
 +    compress
 +    delaycompress
 +    missingok
 +    notifempty
 +}
 +</code>
 +
 +Demnach wird die **LOG**-Datei nach nachfolgenden Regeln rotiert:
 +  * **''weekly''** - wöchentlich
 +  * **''rotate 4''** - die letzten 4 **LOG**-Dateien sollen jeweils erhalten bleiben
 +  * **''compress''** - Alte Versionen der **LOG**-Datei werden komprimiert
 +  * **''delaycompress''** - Verschiebt die Kompression des letzten **LOG**-Datei auf den nächsten Rotationszyklus
 +  * **''missingok''** - Das __nicht__ vorhanden sein der **LOG**-Datei soll zu __keinem__ Fehler führen 
 +  * **''notifempty''** - Nicht rotieren, wenn die **LOG**-Datei leer ist
  
tachtler/repository_spiegeln_centos_7.1418390866.txt.gz · Zuletzt geändert: 2014/12/12 14:27 von klaus