Выход Cronjob в журнал

Я использую скрипт для тестирования скорости широкополосного доступа, и я хотел бы настроить cronjob для тестирования каждые n минут и вывода в файл. Команда запускать его из консоли оболочки и добавить в файл журнала, добавляя строку с текущей датой,

tespeed.py -w | sed -e "s/^/$(date +\"%d-%m-%y\ %T\"), /" >>tespeedlog.csv 

Но если я использую эту команду в cronjob, то что-то не работает; отчеты syslog:

 Sep 25 13:23:01 raspberrypi /USR/SBIN/CRON[6719]: (pi) CMD (/home/pi/tespeed/tespeed.py -w | sed -e "s/^/$(date +') 

Что я проверяю?

One Solution collect form web for “Выход Cronjob в журнал”

Создайте сценарий оболочки, поскольку может возникнуть проблема с форматированием даты выхода. Кажется, что проблема связана с символом % который может интерпретироваться как новый спецификатор строки в некоторых планировщиках cron:

Поместите это в файл /usr/local/bin/wrpr.sh :

 #!/bin/sh tespeed.py -w | sed -e "s/^/$(date +\"%d-%m-%y\ %T\"), /" >> /tmp/tespeedlog.csv 

Сделайте его исполняемым:

 chmod u+x /usr/local/bin/wrpr.sh 

И назначьте его с помощью cron (это переопределит crontab текущего пользователя):

 echo "* * * * * /usr/local/bin/wrpr.sh" | crontab 

В противном случае используйте crontab -e чтобы добавить его в crontab текущего пользователя.

  • Использование настраиваемого фильтра через скрипт для отклонения входящей электронной почты
  • Как сохранить один файл в каталоге?
  • В строке использования моего пользовательского сценария оболочки также должен отображаться --help и --version?
  • Необходимая модификация скрипта оболочки для отображения IP и хоста DD-WRT
  • Лучший способ убить процессы, созданные скриптом bash?
  • Скопируйте файлы, исключая x, y, z, вызывая ошибку в сценарии оболочки
  • Скачайте несколько тысяч файлов - как?
  • Почему «$ Namefile» дает мне такой результат?
  • Игнорировать все совпадения для отрицательного шаблона extglob в рекурсивном ls
  • Добавлять файл, выводить на экран и перенаправлять из stderr все сразу, без тройника
  • Я хочу использовать переменную, объявленную внутри сеанса SSH, для локального использования в сценарии оболочки
  • Linux и Unix - лучшая ОС в мире.