Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

General_V

Super Moderator

  • »General_V« ist der Autor dieses Themas

Beiträge: 1 043

Wohnort: Mönchengladbach

Beruf: Brückenkranführer / Staplerfahrer

Rootserver vorhanden: Nein

  • Nachricht senden

1

Sonntag, 7. März 2010, 15:41

Gameserver logs löschen

Servus zusammen,

ich wollte mal mach fragen ob mir einer erklären kann wie ich die log per Cronjob löschen kann???
System ist Linux, und machen sonst auch alles mit webmin.

Danke schon mal im vorraus ;)

rain

Super Moderator

Beiträge: 1 410

Wohnort: Lutherstadt Wittenberg

Beruf: Anlagenmechaniker

Rootserver vorhanden: Ja

  • Nachricht senden

2

Sonntag, 7. März 2010, 16:03

Re: Gameserver logs löschen

* 1 * * * cd /home/cstrike/logs && rm -r *.log


löscht somit jede Stunde die Logs





General_V

Super Moderator

  • »General_V« ist der Autor dieses Themas

Beiträge: 1 043

Wohnort: Mönchengladbach

Beruf: Brückenkranführer / Staplerfahrer

Rootserver vorhanden: Nein

  • Nachricht senden

3

Sonntag, 7. März 2010, 16:14

Re: Gameserver logs löschen

ok ich probiere es aus, melde mich dann wenn was ist.
Danke erst mal

4

Sonntag, 7. März 2010, 16:16

Re: Gameserver logs löschen

oder ... ein script erstellen... und das dann bei Webmin als Job eintragen

Quellcode

1
2
3
4
5
6
7
8
9
# Dieses Script löscht die Logdateien der Gameserver
# gelöscht werden alle dateien unterhalb vom logs/ Ordner die älter als 7 Tage sind
# GumJack85

# Logs des GunGame Servers löschen
cd /home/gs/css-gungame/cstrike/
find logs/ -type f -mtime +7 -print | xargs rm
echo GunGame Server Logs gelöscht... warte 10 Sekunden
sleep 10
My Weapons are so loud, i can't hear you!

aimroyale.de - die Community

General_V

Super Moderator

  • »General_V« ist der Autor dieses Themas

Beiträge: 1 043

Wohnort: Mönchengladbach

Beruf: Brückenkranführer / Staplerfahrer

Rootserver vorhanden: Nein

  • Nachricht senden

5

Sonntag, 7. März 2010, 16:44

Re: Gameserver logs löschen

kann ich das auch für mehrere server nutzen?

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

6

Sonntag, 7. März 2010, 16:47

Re: Gameserver logs löschen

Zitat von »"gumjack85"«

oder ... ein script erstellen... und das dann bei Webmin als Job eintragen

Quellcode

1
2
3
4
5
6
7
8
9
# Dieses Script löscht die Logdateien der Gameserver
# gelöscht werden alle dateien unterhalb vom logs/ Ordner die älter als 7 Tage sind
# GumJack85

# Logs des GunGame Servers löschen
cd /home/gs/css-gungame/cstrike/
find logs/ -type f -mtime +7 -print | xargs rm
echo GunGame Server Logs gelöscht... warte 10 Sekunden
sleep 10

ich schnall gerade nicht wozu echo und sleep gut sein sollen...oder ich hab nen logik bug :S

übrigens kann man auch anstatt "-print | xargs rm" einfach -delete nutzen

klappt auch super mit demos

Quellcode

1
cd /path/to/server/ && find -name "*.dem" -mtime 3 -delete

7

Sonntag, 7. März 2010, 17:30

Re: Gameserver logs löschen

ja kann man natürlich auch für mehrere Server benutzen einfach entsprechend kopieren und anpassen.

@MadMakz Naja da ich das auch manchmal über Webmin ausführe ist es ganz nett wenn dann da steht "... wurde gelöscht..." also einfach nur noch mal ne Rückmeldung... nix besonderes. Das mit sleep naja das könnte man sich sparen... muss jeder selbst wissen.
My Weapons are so loud, i can't hear you!

aimroyale.de - die Community

General_V

Super Moderator

  • »General_V« ist der Autor dieses Themas

Beiträge: 1 043

Wohnort: Mönchengladbach

Beruf: Brückenkranführer / Staplerfahrer

Rootserver vorhanden: Nein

  • Nachricht senden

8

Montag, 8. März 2010, 23:16

Re: Gameserver logs löschen

Zitat von »"gumjack85"«

oder ... ein script erstellen... und das dann bei Webmin als Job eintragen

Quellcode

1
2
3
4
5
6
7
8
9
# Dieses Script löscht die Logdateien der Gameserver
# gelöscht werden alle dateien unterhalb vom logs/ Ordner die älter als 7 Tage sind
# GumJack85

# Logs des GunGame Servers löschen
cd /home/gs/css-gungame/cstrike/
find logs/ -type f -mtime +7 -print | xargs rm
echo GunGame Server Logs gelöscht... warte 10 Sekunden
sleep 10


So habs es nun angepasst, und es läuft wunder bar, vielen dank dafür gumjack85 ;)

9

Dienstag, 9. März 2010, 10:42

Re: Gameserver logs löschen

gern geschehen. Das ist vllt auch was fürs Wiki... ich werde das demnächst mal einpflegen.
My Weapons are so loud, i can't hear you!

aimroyale.de - die Community

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

10

Dienstag, 9. März 2010, 17:25

Re: Gameserver logs löschen

Quellcode

1
* * * * 7 find /home/gs/server/ -name *.log -type f -mtime +7 -delete

Löscht jeden Sonntag alle Dateien (-type f) in /home/gs/server/, die mit .log enden und älter als 7 Tage (-mtime +7) sind.

Jede Stunde zu löschen halte ich für Überflüssig. Es sorgt nur für mehr I/O-Last, wenn jedesmal 10.000 Dateien durchsucht werden müssen.

Wenn man lieber die Dateien, aus welchen Gründen auch immer, noch behalten möchte, kann man alle Dateien, die älter als 7 Tage sind mit gzip komprimieren.

Quellcode

1
* * * * 7 find /home/gs/server/ -name *.log -mtime +7 -exec nice gzip '{}' \;

Man könnte dies dann noch mit dem löschen kombinieren:

Quellcode

1
* * * * 7 find /home/gs/server/ -name *.log.gz -mtime +14 -delete


Möchte man dann mal in einer bereits komprimierten Datei etwas suchen, kann man zcat, zgrep usw. nutzen.
Sucht man nach einer bestimmten STEAMID in mehreren komprimierten Logdateien, könnte das so aussehen:

Quellcode

1
zgrep STEAM_0:0:123456 L*.log.gz


Ich werd mal anfangen den Artikel darüber zu schreiben.
Es macht außerdem noch Sinn die Dateien in Downloads mal zwischendurch zu löschen. Dort sammeln sich viel mehr Dateien an als in den Log-Verzeichnissen.
Falls alle GameServer innerhalb eines Verzeichnises sind, könnte man folgendermaßen vorgehen:

Quellcode

1
2
3
4
find /home/gs/server/*/srcds/*/downloads/ -type f -mtime +7 -delete #Alle Decaldownloads der EP1/SourceEngine löschen
find /home/gs/server/*/srcds/orangebox/*/downloads/ -type f -mtime +7 -delete #Alle Decaldownloads der OrangeBox (DOD:S, TF2 und andere) löschen
find /home/gs/server/*/srcds/l4d/left4dead/downloads/ -type f -mtime +7 -delete  #Alle Decaldownloads von Left4Dead löschen
find /home/gs/server/*/srcds/left4dead2/left4dead2/downloads/ -type f -mtime +7 -delete  #Alle Decaldownloads von Left4Dead2 löschen

Der Wildcard * sorgt darüf, dass die Shell bestehende Verzeichnisse oder Dateien anstelle des Sterns einfügt.

Hierbei ist anzumerken, dass ich von meiner Installation ausgegengen bin. Gameserver sind bei mir in /home/gs/server/Servername/Engine/

Falls man davon ausgeht, dass es keine Dateien gibt, die aus 8 Zeichen/Zahlen bestehen und auf .dat Enden, könnte man auch folgenden Befehl zum löschen verwenden:

Quellcode

1
find /home/gs/server/ -name ????????.dat* -type f -mtime +7 -delete
Der * am Ende von .dat sorgt dafür, dass im gleichen Durchgang auch die .ztmp-Dateien in downloads gelöscht werden.

Hierbei sollte darauf geachtet werden, dass es manche Plugins gibt, die auch .dat Dateien mitliefern. Man sollte also nachsehen, dass durch den Befehl nicht irgendwelche Mani-Ranks oder Einstellungen gelöscht werden. Wenn man das vorher kontrollieren will, kann man zuerst alle Dateien in Downloads löschen und dann den Find Befehl einegben:

Quellcode

1
find /home/gs/server/ -name ?????????.dat

Wird bei dem Befehl irgendwas ausgegeben, sollte man diese Methode nicht verwenden.

Wenn man den Syntax von find mal kurz überprüfen will, sollte man -delete entfernen und stattdessen | more oder | less anhängen.
Beispiel:

Quellcode

1
2
find /home/gs/server/*/srcds/*/downloads/ -type f -mtime +7 | more
find /home/gs/server/*/srcds/*/downloads/ -type f -mtime +7 | less

Less hat den Vorteil, dass man auch zurückblättern kann.

Um den Server noch weiter zu bereinigen, kann man die .ztmp-Dateien löschen, wenn der Fastdownload verwendet wird.
Falls kein FastDL verwendet wird, sollten die .ztmp-Dateien nicht gelöscht werden, da der Server diese für einen Download sonst wieder komprimieren müsste.
Wichtig ist hierbei, dass es im Verzeichnis downloads des jeweiligen Modverzeichnisses immer .ztmp-Dateien beinhaltet. Diese sollten auch nicht gelöscht werden, da ansonsten der Server diese Dateien erneut komprimieren müsste, wenn ein Spieler noch nicht das Spraylogo eines Spielers hat, der sich auf dem Server befindet.

Der Code-Schnipsel könnte so aussehen:

Quellcode

1
find /home/gs/server/ -name *.ztmp -not -name *.dat.ztmp -delete

Dateien, die auf .dat.ztmp Enden, werden durch den Befehl nicht gelöscht.

Wer noch mit Symlinks arbeitet, kann nachträglich verweiste Symlinks der Gameserver löschen. Oftmals gab es auch SteamUpdates, bei denen Dateien entfernt wurden. Ich selbst hatte deswegen schon öfterns verwaiste Symlinks in meinen Gameserververzeichnissen.

Quellcode

1
find -L /home/gs/server/ -type l -delete

Auch hier kann wieder -delete weggelassen werden und Stattdessen | more oder | less anhängen, um vorher zu kontrollieren, was gelöscht wird.

War jetzt bisschen viel Text. Aber das musste aus meinem Kopf raus ^^

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

11

Dienstag, 9. März 2010, 18:15

Re: Gameserver logs löschen

http://sourceserver.info/wiki/wartung/start">wiki/wartung/start<

Paar Beispiele von mir habe ich bewusst nicht übernommen.

General_V

Super Moderator

  • »General_V« ist der Autor dieses Themas

Beiträge: 1 043

Wohnort: Mönchengladbach

Beruf: Brückenkranführer / Staplerfahrer

Rootserver vorhanden: Nein

  • Nachricht senden

12

Dienstag, 9. März 2010, 18:35

Re: Gameserver logs löschen

Cool danke dir, hat mir sehr geholfen ;)

13

Dienstag, 9. März 2010, 19:10

Re: Gameserver logs löschen

na denn brauch ich ja nix mehr an dem Thema im Wiki machen. Haste gut gemacht DeadEye right
My Weapons are so loud, i can't hear you!

aimroyale.de - die Community

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

14

Dienstag, 15. Juni 2010, 17:19

Re: Gameserver logs löschen

Fertiges Script.

Hab nochwas:

Quellcode

1
find server/ -name *.dem -mtime +10 | while read demo; do grep -q ^HL2DEMO "$demo" && rm "$demo"; done


Löscht nur Demos, die mit .dem enden, älter als 10 Tage sind und HL2DMO am anfang der Binär-Datei stehen haben. Das Konstrukt mit der While-Schleife habe ich gemacht, damit das auch mit Dateien funktioniert, die Leerzeichen im Dateinamen haben. Früher hab ich immer mittels IFS=" einen anderen Seperator gesetzt.

Ich weiß aber nicht, ob ich das im Script noch integrieren soll.

15

Dienstag, 15. Juni 2010, 18:56

Re: Gameserver logs löschen

das must du mir mal kurz erklären... wann werden denn demo files auf den Server bzw. in das serververzeichnis geschrieben?
My Weapons are so loud, i can't hear you!

aimroyale.de - die Community

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

16

Dienstag, 15. Juni 2010, 18:58

Re: Gameserver logs löschen

bei aktiviertem SourceTV: tv_record demo123
Wenn tv_autorecord = 1, dann automatisch.