ďťż
 
 
   Bash pobranie plików z serwera
 
 

Tematy

 
    
 

 

 

 

Bash pobranie plików z serwera





mauro - 27-01-2010 17:16
Witam.
Potrzebuję skrypt, który połączy się z serwerem ftp i z danego katalogu pobierze wszystkie pliki o danym rozszerzeniu. Czy takie coś jest możliwe? Myślę, że tak tylko nie wiem jak to zrobić. Połączyć z serwerem potrafię ale nie pobrać te pliki bez uruchamiania skryptu na serwerze, na którym są pliki.



lessmian2 - 27-01-2010 18:08

Czy takie coś jest możliwe? Tak, jest to możliwe, i nawet całkiem proste.

Z czym konkretnie masz problem? Próbowałeś w ogóle czegoś poszukać?



mauro - 27-01-2010 20:07
Dobrze, zrobiłem według kodu znalezionego w sieci.
Kod wygląda tak: http://pastebin.pl/17676.
#!/bin/bash
HOME='/var/www/dema/dema'
#
HOST='h'
USER='d'
PASSWD='e9c'
FILE='*.zip'
mkdir $HOME
cd $HOME

# Login, run get files
ftp -nv $HOST  <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd cstrike
mget $FILE
bye

# Cleanup
exit 0 Problem polega jeszcze na tym, że nie kopiuje wszystkich plików, tylko skopiuje dwa i koniec, wyświetla tak jakby listę plików:
Connected to h.
220
Remote system type is UNIX.
Using binary mode to transfer files.
331 Password required for d.
230 User d logged in.
250 CWD command successful
mget 10-1001261950-de_inferno.dem.zip? 200 PORT command successful
150 Opening BINARY mode data connection for 10-1001261950-de_inferno.dem.zip (10                                                                            38294 bytes)
226 Transfer complete.
1038294 bytes received in 20.29 secs (50.0 kB/s)
mget 12-1001271859-de_cpl_mill.dem.zip? 200 PORT command successful
150 Opening BINARY mode data connection for 12-1001271859-de_cpl_mill.dem.zip (4                                                                            338808 bytes)
226 Transfer complete.
4338808 bytes received in 84.75 secs (50.0 kB/s)
mget 2-1001252201-de_dust2.dem.zip? 200 PORT command successful
150 Opening BINARY mode data connection for 2-1001252201-de_dust2.dem.zip (31552                                                                              bytes)
226 Transfer complete.
31552 bytes received in 0.62 secs (49.6 kB/s)
mget 2-1001252203-de_nuke.dem.zip? 200 PORT command successful
150 Opening BINARY mode data connection for 2-1001252203-de_nuke.dem.zip (154360                                                                            6 bytes)
226 Transfer complete.
1543606 bytes received in 30.16 secs (50.0 kB/s)
mget 3-1001252256-de_dust2.dem.zip? mget 4-1001252314-de_dust2.dem.zip? mget 5-1                                                                            001261128-de_dust2.dem.zip? mget 6-1001261154-de_dust2.dem.zip? mget 7-100126133                                                                            5-de_dust2.dem.zip? mget 8_nuke-1001261359-de_dust2.dem.zip? mget 8_nuke-1001261                                                                            402-de_nuke.dem.zip? mget 9_inf-1001261923-de_inferno.dem.zip? mget cpl-10012718                                                                            46-de_cpl_mill.dem.zip? mget dd2-1001252055-de_dust2.dem.zip? mget dd2-100125211                                                                            2-de_dust2.dem.zip? mget dd2-1001252119-de_dust2.dem.zip? mget demo-1001251428-d                                                                            e_dust2.dem.zip? mget demo-1001251430-aim_famas_x.dem.zip? mget demo-1001251450-                                                                            aim_ak-colt.dem.zip? mget demo-1001251509-aim_map_deagle.dem.zip? mget demo-1001                                                                            251514-aim_map_hlo.dem.zip? mget demo-1001251657-de_dust2.dem.zip? mget demo-100                                                                            1251713-de_dust2.dem.zip? mget demo-1001251714-awp_greatwall.dem.zip? mget demo-                                                                            1001252022-de_nuke.dem.zip? mget gowno-1001271813-de_train.dem.zip? mget gowno-1                                                                            001271816-de_inferno.dem.zip? mget kanedd2-1001261514-de_dust2.dem.zip? mget kan                                                                            edd2-1001261542-de_inferno.dem.zip? mget mix10-1001262304-de_dust2.dem.zip? mget                                                                              mix10-1001262306-de_inferno.dem.zip? mget mix10-1001270628-de_dust2.dem.zip? mg                                                                            et mix10-1001271411-de_nuke.dem.zip? mget mix9-1001261422-de_nuke.dem.zip? 221
Goodbye.



lessmian2 - 30-01-2010 19:48
mauro, sprawdź czy zadziała Ci poniższy kod: #!/bin/bash
HOME='/var/www/dema/dema'
#
HOST='h'
USER='d'
PASSWD='e9c'
FILE='*.zip'
mkdir $HOME
cd $HOME

# Login, run get files
ftp -niv $HOST  <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd cstrike
mget $FILE
bye

# Cleanup
exit 0 Pierwsza wersja u mnie też nie działała - trzeba było dodać parametr i przy wywołaniu programu ftp.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis