Доброго дня всем!
Помогите советом!
Имею FreeBSD 8.1 за прокси сервером. Чтобы fetch ходил в интернет через прокси с авторизацией, в make.conf прописал:
FETCH_ENV=FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
FETCH_ENV=HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
Всё работает. Сделал скрипт, который испольует fetch и запускается через cron.При выполнении
скрипта не из cron-а, тоже все нормально. А вот если этот скрипт поставить в cron, то fetch
выйти в интернет через прокси уже не может.
Подскажите, как еще можно передать FETCH_ENV для fetch в самом скрипте, так как make.conf в данном случае видимо не используется.
>[оверквотинг удален]
> Имею FreeBSD 8.1 за прокси сервером. Чтобы fetch ходил в интернет через
> прокси с авторизацией, в make.conf прописал:
> FETCH_ENV=FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
> FETCH_ENV=HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
> Всё работает. Сделал скрипт, который испольует fetch и запускается через cron.При выполнении
> скрипта не из cron-а, тоже все нормально. А вот если этот скрипт
> поставить в cron, то fetch
> выйти в интернет через прокси уже не может.
> Подскажите, как еще можно передать FETCH_ENV для fetch в самом скрипте, так
> как make.conf в данном случае видимо не используется.man 3 fetch
далее зависит от используемого SHELL, например для Bourne-SHELL
#!/bin/sh
FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxyexport FTP_PROXY HTTP_PROXY
echo $FTP_PROXY $HTTP_PROXY | /usr/bin/mail -s fetch_env_for_cron user@domain
проверяете работу через cron, если все устраивает, удаляете echo и дописываете
свое.
> man 3 fetch
> далее зависит от используемого SHELL, например для Bourne-SHELL
> #!/bin/sh
> FTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
> HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
> export FTP_PROXY HTTP_PROXY
> echo $FTP_PROXY $HTTP_PROXY | /usr/bin/mail -s fetch_env_for_cron user@domain
> проверяете работу через cron, если все устраивает, удаляете echo и дописываете
> свое.Спасибо.
Выяснилось, что можно просто добавить в /etc/crontab строки:
HTTP_PROXY=http://IP_Proxy:Port_Proxy
HTTP_PROXY_AUTH=basic:*:<USER>:<PASS>и всё работает.
>[оверквотинг удален]
>> HTTP_PROXY=http://USER:PASS@IP_Proxy:Port_Proxy
>> export FTP_PROXY HTTP_PROXY
>> echo $FTP_PROXY $HTTP_PROXY | /usr/bin/mail -s fetch_env_for_cron user@domain
>> проверяете работу через cron, если все устраивает, удаляете echo и дописываете
>> свое.
> Спасибо.
> Выяснилось, что можно просто добавить в /etc/crontab строки:
> HTTP_PROXY=http://IP_Proxy:Port_Proxy
> HTTP_PROXY_AUTH=basic:*:<USER>:<PASS>
> и всё работает.возможно, все зависит от того что и как запускать из под cron'а,
есть гарантированные переменные, см man 5 crontab, а остальное не факт, но
факт что в скрипте переменные будут работать.