Я ищу конец 2 командных строк, которые инициированы от crontab планировщика и должны быть видимы от /var/log/syslog
. Это, чтобы проверить, что запланированное задание действительно выполняется.
Мои строки в crontab похожи на это:
*/1 6-23 * * 1-7 sleep 50; cd /tmp2 && /usr/bin/Rscript run1.R
*/1 6-23 * * 1-7 sleep 50; cd /tmp2 && /usr/bin/Rscript run2.R
Это работает:
tail -f /var/log/syslog | grep run1.R
Это не работает:
tail -f /var/log/syslog | grep run1.R && run2.R
Это
tail -f /var/log/syslog | grep run1.R && run2.R
будет работать
tail -f /var/log/syslog | grep run1.R
и когда и если это выйдет успешно, то это будет (пробовать к) выполненный
run2.R
впоследствии из-за &&
промежуток. Я предполагаю, что Вы хотите один из
tail -f /var/log/syslog | grep -F -e run1.R -e run2.R
tail -f /var/log/syslog | grep -E "run[12]\.R"
tail -f /var/log/syslog | grep -E "run1\.R|run2\.R"
отфильтровать строки, которые содержат также run1.R
или run2.R
(или оба).
Отметьте это tail -f /var/log/syslog
обычно никогда выходы пока данный файл не существуют - который должен иметь место для того конкретного файла.