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.

Koffein

Fortgeschrittener

  • »Koffein« ist der Autor dieses Themas

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

1

Sonntag, 6. Februar 2011, 03:35

Scripte erstellen

Heyho,
nachdem ich endlich meine virtuelle Maschine zum Laufen bekommen habe
und auch jeder auf Ts/Css connecten kann, fange ich jetzt an ein bisschen mit den Scripten an zu basteln...

Bin aktuell dabei in das Bashscript zum starten, etc.. aus der Wiki ein paar Funktion mit reinzusetzten,
nun möchte ich auch das Demo hochladen mit eintragen jedoch kriege ich es nicht hin, das der Lftp Client den exit oder quit Befehl akzeptiert.

Hiermit wird lftp angesprochen:

Quellcode

1
lftp -e "mirror -cRr -i $extension $dir_local $dir_remote" -u $ftp_user:$ftp_password $ftp_host

Wie kriege ich es jetzt hin, das er danach auch wieder raus aus lftp geht?
exit oder quit dahinter funktionieren nicht, auch ;exit bringt nichts, Google gab mir auch keine Antwort :o

2

Dienstag, 8. Februar 2011, 10:27

standard-antwort: schau mal in die man page ;-)

Zitat

OPTIONS
-d Switch on debugging mode

-e commands
Execute given commands and don't exit.

-p port
Use the given port to connect

-u user[,pass]
Use the given username and password to connect

-f script_file
Execute commands in the file and exit

-c commands
Execute the given commands and exit. Commands can be
separated with a semicolon, `&&' or `||'.


http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

3

Dienstag, 8. Februar 2011, 11:20

Man könnte das auch so lösen:

Quellcode

1
2
3
4
5
lftp <<EOFTP
open ftp://$ftp_user:$ftp_password@$ftp_host
mirror -cRr -i $extension $dir_local $dir_remote"
exit
EOFTP
Webbasierender Config Ersteller: www.ulrich-block.de für CS 1.6, CSS, DODS und TF2.

Ebenso wird werden verschiedene Debian Gameserverkernel zum Download angeboten.

Koffein

Fortgeschrittener

  • »Koffein« ist der Autor dieses Themas

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

4

Dienstag, 8. Februar 2011, 13:29

Ja ich hab mir schonmal die Seiten zu lftp durchgeschaut, habe aber nichts gefunden was den Client direkt nach dem Upload schließt.

Danke Terror, sobald die Probleme mit unserem Root vorbei sind werde ich das mal testen.

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

5

Dienstag, 8. Februar 2011, 20:32

Versuch mal folgendes:


Quellcode

1
lftp -e "mirror -cRr -i $extension $dir_local $dir_remote;quit" -u $ftp_user:$ftp_password $ftp_host



MfG
Impact

6

Mittwoch, 9. Februar 2011, 11:25

eh, einfach mal -e durch -c ersetzen. dachte, mein auszug aus der man-page wäre eindeutig gewesen :-P
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

Koffein

Fortgeschrittener

  • »Koffein« ist der Autor dieses Themas

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

7

Mittwoch, 9. Februar 2011, 13:40

Upps, da ich wie gesagt im Moment eher mit der Fehlersuche beim Root Server beschäftigt bin,
habe ich das garnicht so deutlich gelesen :wacko:

Zitat

-c commands
Execute the given commands and exit. Commands can be
separated with a semicolon, `&&' or `||'.


Damit müsste es wohl funktionieren :thumbsup:

Koffein

Fortgeschrittener

  • »Koffein« ist der Autor dieses Themas

Beiträge: 353

Rootserver vorhanden: Nein

  • Nachricht senden

8

Dienstag, 22. Februar 2011, 15:57

So, endlich mal wieder etwas Zeit gefunden.
Die Idee von Impact hat schließlich funktioniert.
Hatte zuerst versucht das "e" durch ein "c" zu ersetzen, dort bekomm ich allerdings die Meldung das mirror -cRr ein unbekannter Befehl war. Danke ;)

So nun zum nächsten Script, ich benutzte das normale Servercleaner Script aus der Wiki, hier noch einmal meine Einstellungen + Script:

Spoiler Spoiler

#!/bin/bash

#
#Vars
#

server[0]=/home/css/training

days_log=1
days_log_gz=14
days_downloads=1

clean_logs=1
clean_downloads=1
clean_ztmp=1
clean_broken_links=0


#
#Programm-Start
#

for dir in ${server[*]}; do
[[ ! -d $dir ]] && echo "Directory $dir doesn't exist, please correct the variables server[x] in the Script." && fail=1
done

[[ "$fail" = "1" ]] && echo "Script aborted" && exit

[[ "$clean_logs" = "1" ]] && echo "Gzip *.log older than $days_log days" && 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" && find ${server[*]} -type f -path "*/logs/*" -name "*.log.gz" -mtime +$days_log_gz -delete
[[ "$clean_ztmp" = "1" ]] && echo "Deleting *.ztmp (*.dat.zmtp is excluded)" && find ${server[*]} -name *.ztmp -not -name *.dat.ztmp -delete
[[ "$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
[[ "$clean_broken_links" = "1" ]] && echo "Deleting broken symlinks" && find -L ${server[*]} -type l -delete


Irgendwie will der mir die Log Dateien jetzt nicht komprimieren...
Wenn ich das Script auf meiner virtuellen Maschine nutzte und halt lediglich die Server-Variable anpasse funktionierts...
Woran kann das liegen?