Вот что я хотел бы автоматизировать:
00 08 * * * psql -Uuser database < query.sql | mail somone@null.com -s "query for `date +%Y-%m-%dZ%I:%M`"
Вот сообщение об ошибке:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Ответы:
Из crontab (5) :
Просто добавьте обратную косую черту перед знаками%:
источник
Чтобы решить проблему, избегайте ваших% символов .
date +%Y-%m-%d
должно бытьdate +\%Y-\%m-\%d
К сожалению, этот ответ немного запоздал, но проблема заключается не в PATH или обратных галочках - проблема в том, что символ процента «%» - это специальный символ, используемый для обозначения NEWLINE или STDIN в записях crontab .
Это противоречит форматированию ввода
date
команды. Как таковая команда, которая включает в себя:date +%Y-%m-%d
будет интерпретироваться как:date Y- m- d
источник
У меня также было много проблем со спиной. Иногда вам нужно более одного появления кавычек и обратных кавычек. Просто замените их на $ ().
Пример:
-Гилсон Соареш
источник
Это не имеет ничего общего с фоном. Ужасно то, что cron НЕ видит PATH, и вы ДОЛЖНЫ сказать cron "что такое PATH?" снова и снова в скриптах cron.
И я за то, чтобы записать команду в файл, а не передавать ее буквально в строке cron. Гораздо элегантнее иметь
чем
эти строки могут идти внутри одного файла, chmod + x file, и этот файл вызывается.
источник