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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Помогите дописать скрипт  (Прочитано 733 раз)

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

Оффлайн gipsy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Помогите дописать скрипт
« : 12 Октября 2010, 14:32:29 »
Hi, All!

есть идея такой конструкции:

Цитировать
#!/bin/sh
HOST='ftp.ru'
USER='usr'
PASSWD='pwd'
cd /home/public/
find . -name *.doc -exec cp -Rf '{}' /home/user/toftp \;
ftp -in $HOST <<END_SCRIPT
USER $USER
PASS $PASSWD
passive
bin
mput /home/user/toftp/*.doc
quit
END_SCRIPT
rm /home/user/toftp/*.doc

Взлетит? Если "Да", то как сюда приделать контроль за каждой частью?
Т.е. остановить дальнейшее исполнение если ошибка при копировании или аплоаде и сбросить ошибку в лог.
Заранее спасибо!

UPD: подскажите, как сделать так, что бы mput не тянул за собой структуру локальных каталогов (/home/user/toftp/) а сразу складывал файлы в корне удаленной стороны ?
« Последнее редактирование: 20 Октября 2010, 14:50:53 от gipsy »

Оффлайн aaleo

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #1 : 12 Октября 2010, 14:59:42 »
echo

while [ "$var1" != "end" ]     # возможна замена на while test "$var1" != "end"
do
  echo "Введите значение переменной #1 (end - выход) "
  read var1                    # Конструкция 'read $var1' недопустима (почему?).
  echo "переменная #1 = $var1" # кавычки обязательны, потому что имеется символ "#".
  # Если введено слово 'end', то оно тоже выводится на экран.
  # потому, что проверка переменной выполняется в начале итерации (перед вводом).
  echo
done 

exit 0

сохранение в файл
echo `error` >> $file_log

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #2 : 12 Октября 2010, 15:03:20 »
А в чем сомнения по поводу скрипта ?
Конструкция документ здесь экономит щелканье по клавиатуре и предназначена для автоматизации.
Насчет пооперационного контроля уже хуже, но логи записать в файл можно, причем из вызывающего места.
Где-то в программировании такая фишка проходила.

Оффлайн gipsy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #3 : 13 Октября 2010, 06:21:38 »
сомнения в орфографии  :)
в программировании мне, как ньюбаю, делать нечего, imho  :(

Оффлайн proctoleha

  • Активист
  • *
  • Сообщений: 364
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #4 : 13 Октября 2010, 07:05:05 »
Хм, я сам никакой программер на баше, но насколько я понял речь идет о копировании данных через ftp.
Я бы осмелился посоветовать автору посмотреть еще и в сторону ssh: настраиваем авторизацию без ввода пароля, монтируем удаленный каталог в локальную папку и и работаем с удаленным каталогом, как с локальным, что все-таки попроще, да и работает по ssh быстрее, чем через ftp. Я когда с башем баловался, написал скрипт, который закидывал картинки на сайт и прописывал их в БД (все по ssh), вот тогда то я и понял, что Linux это наше всё :)
За что я временами ненавижу Linux - так это за свои кривые руки

Оффлайн gipsy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #5 : 13 Октября 2010, 10:04:17 »
хранилище чужое. доступ туда только по фтп

Оффлайн gipsy

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Помогите дописать скрипт
« Ответ #6 : 20 Октября 2010, 21:04:29 »
ап

 

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