Помогите создать cron задание (wget + date)

Тема в разделе "Администрирование серверов", создана пользователем latteo, 19 апр 2013.

Модераторы: mefish, stooper
  1. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.239
    Есть строка /usr/bin/wget -O /home/host/wget/`/bin/date +bash_%Y-%m-%d.html` http://bash.im/
    или так /usr/bin/wget -O "/home/host/wget/$(/bin/date +bash_%Y-%m-%d.html)" http://bash.im/

    Оба варианта замечательно работают при подключении через ssh, но вот с кроном совсем не хотят дружить (дофига всяческих сочетаний кавычек и скобок перепробовал), генерируя ошибки:
    Код:
    /bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
    /bin/sh: -c: line 1: syntax error: unexpected end of file
    После логина по ssh запускаю /bin/sh для пущей реалистичности, так что вариант с некорректным форматом для этого шела можно отбросить.

    UPD: оба ответа помогли решить задачку, вечером еще проверю на том хостинге, где изначально пришлось с этим заморочиться. В теме пока не флудим...
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.100
    сделай проще, создай просто shell скрипт (dowork.sh) где вовнутрях будет эта строка
    дай ему правильные настройки на выполнение и в кроне вызывай * * * * * гедтотам/dowork.sh и усё, и не парся с этим
     
    latteo нравится это.
  3. tan_81

    tan_81 Постоялец

    Регистр.:
    18 окт 2006
    Сообщения:
    128
    Симпатии:
    30
    % надо точно \ экранировать, кавычки нет. + не помню, попробуйте

    UPD. Освежил память, заодно и вас просвящу. Экранировать в итоге надо только %. Знак процента (`%' ) в команде (если он не экранирован обратной косой чертой (`\' ) ) будет соответствовать символу перевода строки и все данные после первого `%' будут посланы для команды на стандартный ввод.
     
    zardoz и latteo нравится это.