You are not logged in.

1

Thursday, November 4th 2010, 5:38pm

Fragen zu diesem Wiki.. [Wartung der Gameserver ]

Hallo ,
in diesem Wiki von euch http://sourceserver.info/wiki/wartung/start">http://sourceserver.info/wiki/wartung/start</a> wird ganz gut beschrieben wie man den Server pflegt..

ich hab da mal ne Frage dazu...
ist es irgendwie möglich Dateien mit einer Nummernfolge zu Speichern?

sagen wir mal so zum Beispiel..

Source code

1
2
30 6 * * * find /home/cstrike/logs/ -type f -mtime +7 -exec nice gzip '{}' \;
35 6 * * * mv /home/cstrike/logs/*.gz /home/backup/
und das jetzt die Dateien die in den Backup Ordner wandern in etwa so aussehen

L12345-001.gz
L12345-002.gz
L12345-003.gz

Mir gehen die Suchbegriffe aus und komm einfach nicht mehr weiter..
vielleicht ist es auch wieder der Wald mit seinen ganzen Bäumen :D

Vielleicht könnt ihr mir ja weiterhelfen..
Danke schonmal im vorraus.
Gruß Fanta

DeaD_EyE

Administrator

Posts: 3,978

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

2

Thursday, November 4th 2010, 9:59pm

Re: Fragen zu diesem Wiki.. [Wartung der Gameserver ]

Source code

1
2
3
L12345-001.gz
L12345-002.gz
L12345-003.gz


Ja, ist möglich. Ich bräuchte dann nur das Format des Dateinamen, wie du ihn aufbauen willst.

Maske: Lyyyymmdd-###.gz
Ergebnis für Heute:

Source code

1
2
3
4
5
L20101104-001.gz
L20101104-002.gz
L20101104-003.gz
L20101104-004.gz
L20101104-005.gz

--------------------------------------
Maske: Lmmdd-###.gz
Ergebnis für Heute:

Source code

1
2
3
4
5
L1104-001.gz
L1104-002.gz
L1104-003.gz
L1104-004.gz
L1104-005.gz

-----------------------------------
Maske: Lmm-dd-###.gz
Ergebnis für Heute:

Source code

1
2
3
4
5
L11-04-001.gz
L11-04-002.gz
L11-04-003.gz
L11-04-004.gz
L11-04-005.gz


Da die original Logdateien auch durchnummeriert sind, kann man diese für die neuen Dateinamen auch verwenden.

3

Thursday, November 4th 2010, 10:15pm

Re: Fragen zu diesem Wiki.. [Wartung der Gameserver ]

Hi,

echt das wär super..
der hier gefällt mir gut :)

Quoted from ""DeaD_EyE""

Maske: Lyyyymmdd-###.gz

DeaD_EyE

Administrator

Posts: 3,978

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

4

Thursday, November 4th 2010, 11:39pm

Re: Fragen zu diesem Wiki.. [Wartung der Gameserver ]

Fertig:

Source code

1
2
3
4
5
6
7
8
9
10
find publicserver/gungame/orangebox/cstrike/logs/ -type f -mtime +7 | while read file; do
    year=$(stat -c %y $file | cut -d '-' -f1)
    file_=`basename $file`
    suffix=${file_:5:3}
    file_date=${file_:1:4}
    basepath=`dirname $file`
    echo "gzip $file; mv $file.gz $basepath/L$year$file_date-$suffix.log"
    #nice gzip $file
    #mv $file.gz $basepath/L$year$file_date-$suffix.log
done


Am besten verpackst du dir das in ein Shell-Script (code ungetestet):

logcompress

Source code

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
[[ ! -d $1 ]] && exit 1
[[ ! -d $2 ]] && exit 1
find $1 -type f -mtime +7 | while read file; do
    year=$(stat -c %y $file | cut -d '-' -f1)
    file_=`basename $file`
    suffix=${file_:5:3}
    file_date=${file_:1:4}
    nice gzip $file
    mv $file.gz $2/L$year$file_date-$suffix.log
done


Source code

1
chmod u+x logcompress


Für den Cronjob:

Source code

1
30 6 * * * /pfad/zu/logcompress /home/cstrike/logs/ /home/backup/


Am besten einmal paar Logdateien irgendwo hin kopieren und dann das Script logcompress etwas abändern:

Source code

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
[[ ! -d $1 ]] && exit 1
[[ ! -d $2 ]] && exit 1
find $1 -type f | while read file; do
    year=$(stat -c %y $file | cut -d '-' -f1)
    file_=`basename $file`
    suffix=${file_:5:3}
    file_date=${file_:1:4}
    nice gzip $file
    mv $file.gz $2/L$year$file_date-$suffix.log
done


Ich hab nur das mtime entfernt, wodurch find alle .log-Dateien findet.
Das Script dann testweise so aufrufen:
./logcompress /pfad/zu/den/kopierten/logs /pfad/zum/backuptestverzeichnis

Wenn das ergebnis ist, wie erwünscht, kannst du ja den Cronjob einbinden (+mtime 7 beim find-Befehl nicht vergessen wieder hinzuzufügen)

Für jeden Gameserver solltest du ein eigenes Bakup-Verzeichnis für die Logs erstellen, da es ansonsten zu Überscheidungen bei den Dateinamen kommt.

PS: Zur Sicherheit könnte man noch -name "L???????.log" zum find-Befehl hinzufügen:
find $1 -type f -mtime +7 -name "L???????.log" | ......

5

Monday, December 6th 2010, 6:03pm

Re: Fragen zu diesem Wiki.. [Wartung der Gameserver ]

Hi,,

urr ich bin immer noch nicht dazu gekommen das zu testen...
wenn ich dazu komme werd ich noch sagen obs funzt..
ich bin zuversichtlich das es geht bisher hat alles gefunzt was man von dir Dead_Eye an Anleitungen gefunden hat!

Erstmal Danke noch für die Mühe..

gruß Fanta