Автор Тема: прост скрипт за качване на файлове  (Прочетена 2015 пъти)

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Добър ден на всички списващи и четящи,

Два компютъра с Linux Ubuntu 8.04 (PC1) и Ubuntu 11.10 (PC2)
компютрите не са в една мрежа, но са с публични ip адреси,
На PC1 има директория /home/guest/log/ - в която има множество файлове(name.log, name1.log, name2.log ....nameN.log) ,
тези файлове ежедневно се генерират и броят им нараства
Посредством upload ftp script се мъча да качвам всички файлове от PC1 /home/guest/log на PC2 в /home/user/log/

както казах малко по-нагоре, файловете са многобройни но всички завършват с едно и също разширение .log. Потърсих в търсчките и намерих доста скриптове, в началото пробвах да ги архивирам на PC1 след това да ги качвам на PC2 и да ги резархивирам. Но първо, че не сработи след това ми се струва прекалено усложняване на процеса.
За това сега се мъча да ги качвам наведнъж, и ползвам следния скрип


Код
GeSHi (Bash):
  1. guest@PC1:~$ cat ftp_up.sh
  2. #!/bin/sh
  3. HOST='ftp.PC2.bg'
  4. USER='user'
  5. PASSWD='123'
  6. cd /home/guest/log/
  7. ls -ls
  8. FILE='*.log'
  9.  
  10. ftp -n $HOST <<END_SCRIPT
  11. quote USER $USER
  12. quote PASS $PASSWD
  13. cd log/
  14. put $FILE
  15. quit
  16. END_SCRIPT
  17. exit 0
  18.  

Скрипта е взаимстван от howto, но за жалост при мен не работи с очакваните резултати. Да, тръгва да качва файловете, прехвърля първия и спира. Някой има ли идея как да го накарам да прехвърля всички файлове с разширения .log, а не само първия файл ? Или пък да ме насочите дали е възможно цяла папка да речем PC1 /home/guest/log да се прехвърля посредством скрип и ftp на PC2 /home/ftp/
« Последна редакция: Dec 09, 2011, 12:03 от vox »
Активен

No Windows, no Gates only apache inside

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #1 -: Dec 09, 2011, 12:07 »
Съжалявам, че спамя форума. Но реших своя пробем заместих в скрипта "put *.log" с mput *.* и сработи.
Активен

No Windows, no Gates only apache inside

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #2 -: Dec 09, 2011, 12:28 »
Може да се ползва също и wput.
Цитат
Wput is a command-line ftp-client that looks like wget but instead of downloading, uploads files or whole directories to remote ftp-servers.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #3 -: Dec 09, 2011, 12:42 »
Код
GeSHi (Bash):
  1. #!/bin/sh
  2. HOST='ftp.PC2.bg'
  3. USER='user'
  4. PASSWD='123'
  5. cd /home/gues/log
  6. FILE='*.log'
  7.  
  8. ftp -inv $HOST <<END_SCRIPT
  9. quote USER $USER
  10. quote PASS $PASSWD
  11. cd log/
  12. binary
  13. prompt off
  14. mput $FILE
  15. bye
  16. ##quit
  17. END_SCRIPT
  18. ##exit 0

..ето така изглежда вече работещия скрип при мен.
« Последна редакция: Dec 09, 2011, 13:00 от vox »
Активен

No Windows, no Gates only apache inside

sstefanov

  • Напреднали
  • *****
  • Публикации: 158
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #4 -: Dec 09, 2011, 13:08 »
ncftpput -u 'user' -p '123' ftp.PC2.bg log /home/gues/log/*.log
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #5 -: Dec 09, 2011, 14:04 »
друг вариант - монтираш си фтп ресурса в локална директория при тебе и си правиш каквото си искаш - tar, rsync, cp ...:

Код:
curlftpfs [user@]host:[dir] mountpoint [options]
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

vox

  • Напреднали
  • *****
  • Публикации: 147
  • Distribution: HP-UX, Solaris, AIX
  • Window Manager: console only
  • #!/bin/ksh
    • Профил
Re: прост скрипт за качване на файлове
« Отговор #6 -: Dec 09, 2011, 14:38 »
Благодаря ви за отговорите, различните и интересни варианти. За сега със горния скрипт който съм пейстнал работи, но може да пробвам и другите решения.
Активен

No Windows, no Gates only apache inside

Йордан

  • Напреднали
  • *****
  • Публикации: 1451
  • Distribution: Ubuntu / Gentoo
  • Window Manager: Gnome
  • не е важно колко ти е голяма пишката, а какво можеш с нея
    • Профил
    • WWW
Re: прост скрипт за качване на файлове
« Отговор #7 -: Dec 26, 2011, 15:27 »
Колега, погледни lftp. Мисля, че може да го ползваш за много неща :)
Активен

Всеки пост - отговор на въпрос !!!

Йордан Георгиев
http://ygeorgiev.net/