powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / скрипт на bash для работы с ftp
8 сообщений из 8, страница 1 из 1
скрипт на bash для работы с ftp
    #35613494
untitled
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет
подскажите, а как можно с помощью скрипта реализовать такой функционал:
1) подконнектиться к фтп, скачать из определенной папки все файлы, а затем файлы на фтп удалить
2) подконнектиться к фтп, посмотреть на те файлы которые там есть и если они новее тех, что у меня, то скачать их.

заранее спасибо :)
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35613609
Мишган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
untitled,

Это вам батенька с такими вопросами на фреелансер.ру
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35613656
wentoir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно, используйте wget
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35613717
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
untitledвсем привет
подскажите, а как можно с помощью скрипта реализовать такой функционал:
1) подконнектиться к фтп, скачать из определенной папки все файлы, а затем файлы на фтп удалить
2) подконнектиться к фтп, посмотреть на те файлы которые там есть и если они новее тех, что у меня, то скачать их.

заранее спасибо :)

$man ftp
$man netrc


$echo "open host" > script.ftp
$echot "binary" >>script.ftp
$echo "cd directory" >> script.ftp
$echo "ls" >> script.ftp
$echo "mget *" >> script.ftp
$echo "delete *" >> script.ftp
$bye >> script.ftp

$ftp -i < script.ftp >ftp.log 2>&1
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35613805
SSukholet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
On Fri, 24 Oct 2008 10:22:13 +0800, untitled <nospam@sql.ru>; wrote:

> Автор: untitled
> всем привет
> подскажите, а как можно с помощью скрипта реализовать такой функционал:
> 1) подконнектиться к фтп, скачать из определенной папки все файлы, а
> затем файлы на фтп удалить
> 2) подконнектиться к фтп, посмотреть на те файлы которые там есть и если
> они новее тех, что у меня, то скачать их.
>
> заранее спасибо :)
был ещё mirror.pl http://www.etsimo.uniovi.es/mirror/

впрочем, он сейчас он есть и в пакетах


--
Остаюсь искренне Ваш,
Станислав Сухолёт
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35615533
untitled
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо за ответы, если кому интересно, то в итоге у меня получилось вот что:
1. подконнектиться к фтп, скачать из определенной папки все файлы, а затем файлы на фтп удалить

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
#!/usr/local/bin/bash

HOST='192.168.1.2'
USER='xxx'
PASS='xxx'
PATH='/dirfrom'
FILES='\*.txt'

HOMEDIR='/dirto';

###############################################################################

RESULT='';

executeftp(){
    echo "open" $HOST > script.ftp
    echo "user" $USER $PASS >> script.ftp
    echo "cd" $PATH >> script.ftp
    echo $ 1  >> script.ftp
    echo "bye" >> script.ftp

    RESULT=`/usr/bin/ftp -in < script.ftp && /bin/rm script.ftp`;
}

cd $HOMEDIR
executeftp "nlist "$FILES
F=$RESULT
for i in $F
do
    /usr/local/bin/wget -N ftp://$USER:$PASS@$HOST/$PATH/$i
    executeftp 'delete '$i
done

2. подконнектиться к фтп, посмотреть на те файлы которые там есть и если они новее тех, что у меня, то скачать их.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#!/usr/local/bin/bash

HOST='192.168.100.100'
USER='xxx'
PASS='xxx'
PATH='/dirfrom'

FILES='\*.txt'
HOMEDIR='/dirto'

###############################################################################

cd $HOMEDIR

echo "open" $HOST > script.ftp
echo "user" $USER $PASS >> script.ftp
echo "cd" $PATH >> script.ftp
echo "nlist $FILES" >> script.ftp
echo "bye" >> script.ftp

for i in `/usr/bin/ftp -in < script.ftp && /bin/rm script.ftp`
do
    /usr/local/bin/wget -N ftp://$USER:$PASS@$HOST/$PATH/$i
done

onstat-
Код: plaintext
1.
2.
$echo  "mget  *" >> script.ftp
$echo  "delete *" >> script.ftp


я сначала сделал так, но, как выяснилось, в данной конструкции кроется небольшая засада. если кто то между двумя этими командами зальет файлы на фтп, то эти файлы удалятся, что печально, поэтому пришлось немного доработать код.

ЗЫ это можно сказать мой первый код на баше, может кто подскажет, а как-нибудь в данном случае можно обойтись без промежуточного хранения данных в файле script.ftp? Другими словами, если записать команды в какую-то переменную, то как затем ее можно подставить в такую конструкцию:
Код: plaintext
RESULT=`/usr/bin/ftp -in < script.ftp`
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35615549
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expect намного более корректный тул для таких задач
...
Рейтинг: 0 / 0
скрипт на bash для работы с ftp
    #35615958
pavlenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для примера часть bash скрипта как залить один файл. Думаю из него понятно как зделать все необходимое.

FILE=`your_file`
HOST='ftp.server'
USER='login'
PASSWD='pass'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
passive
put $FILE
quit
END_SCRIPT

Антон
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / скрипт на bash для работы с ftp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]