Ваше cron
повідомлення про помилку відправляється на mail
рахунок користувача, на якому виконується cron
завдання.
Введіть mail
у командному рядку, щоб побачити повідомлення. Список mail
команд дивіться у чоловічій пошті .
Вам слід отримувати пошту із повідомленням про помилку чимось:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Що стосується команди, і чому вона не працює, це тому, що знак "%" є символом "нового рядка", це означає, що він говорить оболонці "перейти до наступного рядка". Отже, після того, як він зустріне перший "%", він переходить до наступного рядка і ніколи не бачить решти команди. Це підтверджується "несподіваним EOF під час пошуку відповідності" "(подвійна цитата).
Сторінка локальної сторінки для crontab ( man crontab
) є досить нечіткою з деталями, і я гадаю, що cron
це не використовується для 1 . Однак, це пояснює це сторінка "crontab" від developer.apple.comlaunchd
Поле "шосте" (решта рядка) вказує команду, яку потрібно виконати. Вся командна частина рядка, до нового рядка або символу%, буде виконуватися в / bin / sh або оболонці, зазначеній у змінній SHELL cronfile. Знаки відсотків (%) в команді, якщо їх не вдалося виконати з косою рисою (\), будуть змінені в символи нового рядка, і всі дані після першого% будуть відправлені в команду як стандартне введення. Команда може бути додатково встановлена префіксом " @AppleNotOnBattery
", щоб сказати cron не виконувати команду, коли вона працює від батареї. Наприклад, "шосте" поле при використанні цієї опції виявиться чимось подібним"@AppleNotOnBattery /usr/bin/touch /tmp/foo"
Виправлення:
Отже, що вам потрібно зробити, це "уникнути" символу "%" зворотною косою рисою (\), щоб вона могла йому дослівно його інтерпретувати.
Вашою командою має бути:
0/5 * * * * /bin/date "+\%Y-\%m-\%d \%H:\%M:\%S" >> /tmp/log.txt
1 З man crontab
: (Примітка Дарвіна: Хоча cron (8) і crontab (5) офіційно підтримуються в Дарвіні, їх функціональність була перетворена на запуск (8), що забезпечує більш гнучкий спосіб автоматичного виконання команд. Див. Startctl (1) для отримання додаткової інформації.)