Anarchist
написал 11 сентября 2008 года в 11:54 (1235 просмотров)
Ведет себя
как мужчина; открыл 258 тем в форуме, оставил 4097 комментариев на сайте.
На самом деле вопрос звучит: что за хуйня?!?
FreeBSD 4.11-RELEASE #0
#!/bin/sh # HOST=ft.somedomain.ru # ftp -n $HOST < /home/user/ftp_script exit 0
где ftp_script — это файл следующего содержания
quote USER $USER quote PASS $PASSWD binary get some_file quit
При запуске из ssh-сессии — работает на ура.
При запуске из cron’а — хуй!
#!/bin/sh # HOST=ft.somedomain.ru # fetch ftp://USER:PASSWORD@$HOST/some_file.pdf exit 0
При запуске из интерактивной сессии shell’а — работает на ура.
Из cron — не работает.
Причём на FreeBSD 6.X скрипты первого типа работают — только в путь.
Интересно что за глюк?
ЗЫ: Выкрутился через wget, попутно выяснив, что с FTP он по умолчанию качает в текстовом режиме. Бинарный включается опцией --dot-style=binary.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Сам же в faq написал, что делать если у тебя из cron что-то не работает. Скорее всего не находиться ftp.
Дык думаешь я не проверял?
В данном случае этот рецепт не работает.
И ftp и fetch живут в /usr/bin, который прописан в умолчательном PATH crond’а.
+ то, что на FreeBSD 6.X оно же работает!
ЗЫ: Для других, более шаманских скриптов, описанный путь работает, здесь — нет.
А с этим порядок?
Права на скрипт?
Полный. Цитировался тестовый скрипт, в котором я отрабатывал необходимые аргументы fetch’а.
Потом команда переносилась в боевой скрипт, где всё это было учтено.
'x' для всех выставлен.
Далее — ещё интереснее:
вставляю после строки с вызовом ftp (для fetch’а не проверял)
И не нахожу файла crond.env.
Переношу эту строку до вызова ftp — он находится там, где ему и положено быть.