You are not logged in.

Koffein

Intermediate

  • "Koffein" started this thread

Posts: 353

wcf.user.option.userOption53: Nein

  • Send private message

1

Sunday, February 6th 2011, 3:35am

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:

Source code

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

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

2

Tuesday, February 8th 2011, 10:27am

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

Quoted

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

Tuesday, February 8th 2011, 11:20am

Man könnte das auch so lösen:

Source code

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

Intermediate

  • "Koffein" started this thread

Posts: 353

wcf.user.option.userOption53: Nein

  • Send private message

4

Tuesday, February 8th 2011, 1:29pm

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

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

5

Tuesday, February 8th 2011, 8:32pm

Versuch mal folgendes:


Source code

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



MfG
Impact

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

6

Wednesday, February 9th 2011, 11:25am

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

Intermediate

  • "Koffein" started this thread

Posts: 353

wcf.user.option.userOption53: Nein

  • Send private message

7

Wednesday, February 9th 2011, 1:40pm

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:

Quoted

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


Damit müsste es wohl funktionieren :thumbsup:

Koffein

Intermediate

  • "Koffein" started this thread

Posts: 353

wcf.user.option.userOption53: Nein

  • Send private message

8

Tuesday, February 22nd 2011, 3:57pm

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?