Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Не удаляется файл после выхода с FTP  (Прочитано 1390 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Есть скрипт загрузка файла на FTP

#!/bin/bash
HOST="ftp.narod.ru"
PORT="21"
USER=""
PASSWD=""
FILE="/root/scripts/ip.txt"
sudo links -dump http://myip.yandex.ru > $FILE
ftp -n $HOST <<EoF
user $USER $PASSWD
cd IP
del ip.txt
put $FILE ip.txt
quit
exit 0
rm -f $FILE
не выполняется rm -f $FILE.Почему?
Так тоже пробовал
rm -f $FILE
exit 0
работает только перед логином на FTP
и какую функцию несет <<EoF?без него автоматом не логинется
еще интересует как удалять файлы старше недели?
« Последнее редактирование: 15 Апреля 2011, 17:54:56 от djrust »

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #1 : 15 Апреля 2011, 17:54:47 »
выше

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #2 : 15 Апреля 2011, 18:11:00 »
Потому что стоит после exit 0, и нет прав.

Пользователь решил продолжить мысль 15 Апреля 2011, 18:26:32:
Что вообще скрипт делает?

Пользователь решил продолжить мысль 15 Апреля 2011, 18:33:24:
Так пойдёт?
$ links -dump http://myip.yandex.ru |curl -T - ftp://ftp.narod.ru/IP/ip.txt
« Последнее редактирование: 15 Апреля 2011, 18:33:24 от фирэфохэ »
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #3 : 15 Апреля 2011, 20:26:30 »
фирэфохэ
Читайте внимательно!
Так тоже пробовал
Код:

rm -f $FILE
exit 0
работает только перед логином на FTP(т.е если поставить перед ftp -n $HOST <<EoF)
С Sudo тоже пробовал!

Цитировать
Что вообще скрипт делает?

Вроде там понятно,что он делает)))))Отсылает ip на ftp

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера
Re: Не удаляется файл после выхода с FTP
« Ответ #4 : 15 Апреля 2011, 20:49:13 »
#!/bin/bash
HOST="ftp.narod.ru"
PORT="21"
USER=""
PASSWD=""
FILE="/root/scripts/ip.txt"
sudo links -dump http://myip.yandex.ru > $FILE
ftp -n $HOST <<EOF
user $USER $PASSWD
cd IP
del ip.txt
put $FILE ip.txt
quit
EOF
rm -f $FILE
exit 0

1) EOF надо писать большими буквами
2) закрыть его тоже надо не забывать

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #5 : 15 Апреля 2011, 21:19:00 »
shumtest
помогло,спасибо!
так,а что такое EOF?
Это?
Eof
Функция Возвращает true, если позиция курсора находится в конце файла открытого с помощью Reset
« Последнее редактирование: 15 Апреля 2011, 21:34:48 от djrust »

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #6 : 15 Апреля 2011, 21:31:15 »
По-моему проще curl`ом послать, зачем городить скрипт, да ещё и в файл писать, если есть пайпы прямо в баше?
$ links -dump http://myip.yandex.ru |curl -T - ftp://ftp.narod.ru/IP/ip.txt
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #7 : 15 Апреля 2011, 21:34:21 »
а как залогинеться на сам фтп тогда?в curl прописать параметры?
в общем кому как удобно....что мне тут не нравится,так это пароль открытым текстом
« Последнее редактирование: 15 Апреля 2011, 21:35:53 от djrust »

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Re: Не удаляется файл после выхода с FTP
« Ответ #8 : 15 Апреля 2011, 21:40:24 »
а как залогинеться на сам фтп тогда?в curl прописать параметры?
Да.

Пользователь решил продолжить мысль 15 Апреля 2011, 21:47:14:
Цитата: man curl
-n/--netrc
Makes curl scan the .netrc (_netrc on Windows) file in the user's home directory for login  name  and  password. This  is typically used for FTP on UNIX. If used with HTTP, сurl will enable user authentication. See netrc(4) or ftp(1) for details on the file format. Curl will not complain if  that  file  doesn't  have  the right  permissions  (it  should  not be either world- or group-readable). The environment variable "HOME" is used to find the home directory.

A quick and very simple example of how to setup a .netrc to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' should look similar to:

machine host.domain.com login myself password secret

Пишешь в файл адрес, логин, пароль, даёшь права на чтение/запись только себе - всё никто другой не посмотрит:
echo "machine ftp.narod.ru login myself password secret" >> ~/.netrc
chmod 600 ~/.netrc
« Последнее редактирование: 15 Апреля 2011, 21:48:54 от фирэфохэ »
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

 

Страница сгенерирована за 0.035 секунд. Запросов: 23.