Benutzer-Werkzeuge

Webseiten-Werkzeuge


wartung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

wartung:start [2010/06/15 17:08]
DeaD_EyE Bash-Script geschrieben
wartung:start [2012/12/26 17:02] (aktuell)
DeaD_EyE [Statistiken löschen]
Zeile 39: Zeile 39:
  
 ===== Fertiges Script ===== ===== Fertiges Script =====
-Das Script führt alle Aufgaben nacheinander aus. Der Pfad eines Servers kann in der Variable ''server[1]'' festgelegt werden. Sollen mehrere Verzeichnisse abgearbeitet werden, können auch mehrere Arays definiert werden((server[2],server[3], ...)).+Das Script führt alle Aufgaben nacheinander aus. Der Pfad eines Servers kann in der Variable ''server[0]'' festgelegt werden. Sollen mehrere Verzeichnisse abgearbeitet werden, können auch mehrere Arays definiert werden((server[1],server[2], ...)).
 ^  Variable  ^  Erklärung  ^ ^  Variable  ^  Erklärung  ^
 |server[x]|Es können über diese Variable beliebig viele Server eingetragen werden.| |server[x]|Es können über diese Variable beliebig viele Server eingetragen werden.|
 |days_log|Gibt das Alter in Tagen der Log-Dateien an, die komprimiert werden sollen.| |days_log|Gibt das Alter in Tagen der Log-Dateien an, die komprimiert werden sollen.|
-|day_log_gz|Gibt das Alter in Tagen der komprimierten Log-Dateien an, die gelöscht werden sollen.|+|day_log_gz|Gibt das Alter in Tagen der komprimierten Log-Dateien an, die gelöscht werden sollen.\\ Hier darauf achten, dass gzip den Zeitstempel der Datei nicht ändert.|
 |days_downloads|Legt fest, ab welchem Alter in Tagen, die Dateien im Verzeichnis downloads gelöscht werden sollen.| |days_downloads|Legt fest, ab welchem Alter in Tagen, die Dateien im Verzeichnis downloads gelöscht werden sollen.|
 |clean_logs|1 aktviert den Komprimier-/Löschmechanismus der Log-Dateien.| |clean_logs|1 aktviert den Komprimier-/Löschmechanismus der Log-Dateien.|
 |clean_downloads|1 aktivert das Löschen der Downloads.| |clean_downloads|1 aktivert das Löschen der Downloads.|
 |clean_ztmp|1 aktivert das Löschen aller ztmp-Dateien.| |clean_ztmp|1 aktivert das Löschen aller ztmp-Dateien.|
-|clean_broken_links|1 aktivert das Löschen aller verwaisten Symlinks.\\Macht nur Sinn, wenn man mit Symlinks arbeitet.| +|clean_broken_links|1 aktivert das Löschen aller verwaisten Symlinks.\\ Macht nur Sinn, wenn man mit Symlinks arbeitet.| 
-<code>#!/bin/bash+**Download:** {{:wartung:servercleaner.sh|}} 
 +<file bash servercleaner.sh>#!/bin/bash
  
 # #
Zeile 55: Zeile 56:
 # #
  
-server[1]=/home/gs/server1 +server[0]=/home/gs/server1 
-server[2]=/home/gs/server2+server[1]=/home/gs/server2 
 +server[2]=
 server[3]= server[3]=
-server[4]= 
  
 days_log=7 days_log=7
Zeile 80: Zeile 81:
 [[ "$fail" = "1" ]] && echo "Script aborted" && exit [[ "$fail" = "1" ]] && echo "Script aborted" && exit
  
-[[ "$clean_logs" = "1" ]] && echo "Gzip *.log older than +$days_log days" && \ +[[ "$clean_logs" = "1" ]] && echo "Gzip *.log older than $days_log days" && \ 
-find ${server[*]} -type f -path "*/logs/*" -name "*.log" -mtime +-exec nice gzip '{}' \; +find ${server[*]} -type f -path "*/logs/*" -name "*.log" -mtime +$days_log -exec nice gzip '{}' \; 
-[[ "$clean_logs" = "1" ]] &&  echo "Deleting *.log.gz older than +$days_log_gz days" && \ +[[ "$clean_logs" = "1" ]] &&  echo "Deleting *.log.gz older than $days_log_gz days" && \ 
-find ${server[*]} -type f -path "*/logs/*" -name "*.log.gz" -mtime +14 -delete+find ${server[*]} -type f -path "*/logs/*" -name "*.log.gz" -mtime +$days_log_gz -delete
 [[ "$clean_ztmp" = "1" ]] && echo "Deleting *.ztmp (*.dat.zmtp is excluded)" && \ [[ "$clean_ztmp" = "1" ]] && echo "Deleting *.ztmp (*.dat.zmtp is excluded)" && \
 find ${server[*]} -name *.ztmp -not -name *.dat.ztmp -delete find ${server[*]} -name *.ztmp -not -name *.dat.ztmp -delete
-[[ "$clean_downloads" = "1" ]] && echo "Deleting downloads, which are older then +$days_downloads" && \+[[ "$clean_downloads" = "1" ]] && echo "Deleting downloads, which are older then $days_downloads days" && \
 find ${server[*]} -type f -name ????????.dat* -path "*/downloads/*" -mtime +$days_downloads -delete find ${server[*]} -type f -name ????????.dat* -path "*/downloads/*" -mtime +$days_downloads -delete
 [[ "$clean_broken_links" = "1" ]] && echo "Deleting broken symlinks" && \ [[ "$clean_broken_links" = "1" ]] && echo "Deleting broken symlinks" && \
 find -L ${server[*]} -type l -delete find -L ${server[*]} -type l -delete
-</code> +</file> 
 +===== CS:GO ===== 
 +==== Statistiken löschen ==== 
 +Im Modverzeichnis des Gameservers werden seit neustem txt-Dateien für jede Runde gespeichert. Welchen tieferen Sinn die Daten haben, ist uns noch unbekannt. Um die Dateien zu löschen, kann man folgenden Befehl verwenden: 
 +<code>find /home/server/csgo1/csgo \ 
 +-maxdepth 1 -regextype posix-extended \ 
 +-regex '.+/backup_[0-9]{8}_[0-9]{6}_\w{2}_\w+\.txt$' \ 
 +-delete</code> 
 +Mit dem Parameter -maxdepth 1 wird die Suchtiefe auf das gleiche Verzeichnis beschränkt. Das verringert die IO-Last des Hosts. Durch den Regex werden nur Dateien gefunden, die folgendem vereinfachtem Schema entsprechen: 
 +<code>*/backup_dddddddd_dddddd_xx_x*.txt</code> 
 +d = Zahl\\ 
 +x = Alphanumerisch mit Sonderzeichen\\ 
 +* = Alles bzw. Wiederholung vom vorherigen
wartung/start.1276614501.txt.bz2 · Zuletzt geändert: 2010/06/15 17:08 von DeaD_EyE