Sie sind nicht angemeldet.

1

Donnerstag, 4. November 2010, 17:38

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..

Quellcode

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

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

2

Donnerstag, 4. November 2010, 21:59

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

Quellcode

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:

Quellcode

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:

Quellcode

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:

Quellcode

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

Donnerstag, 4. November 2010, 22:15

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

Hi,

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

Zitat von »"DeaD_EyE"«

Maske: Lyyyymmdd-###.gz

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

4

Donnerstag, 4. November 2010, 23:39

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

Fertig:

Quellcode

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

Quellcode

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


Quellcode

1
chmod u+x logcompress


Für den Cronjob:

Quellcode

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:

Quellcode

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

Montag, 6. Dezember 2010, 18:03

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