Ошибка Ubuntu Crontab

760
user34104

Я хочу перечислить файлы в 12h01. Как я могу настроить свой crontab для этого?

pedro@Pedro-PC:~/PL/trab4$ crontab -l # 01 12 * * * ls -l 
1
Какие у вас проблемы? coneslayer 14 лет назад 2
Перенаправьте вывод в сценарии в известную папку mpez0 14 лет назад 0

3 ответа на вопрос

1
CaseyIT

Попробуйте положить

ls -l 

команда в небольшой скрипт bash .... назовите файл listfilesдля примера

Положить listfiles в где-то вроде/usr/bin

сделать список файлов исполняемым с

sudo chmod +x listfiles 

затем измените ваш crontab на

01 12 * * * /usr/bin/listfiles 
Все бесполезно, если вывод находится на виртуальной консоли и не подключен экран, или вывод ls -l перенаправлен куда-то ... Oliver Friedrich 14 лет назад 0
1
SW.

Вы также можете (что я предпочитаю для небольших команд) делать сначала, но с полным путем к двоичному файлу ls. Crontab работает с меньшим $ PATH, чем вы, поэтому мы даем полный путь к ls.

то есть:

01 12 * * * /bin/ls /home/user/ 

Вы можете получить путь к вашему бинарному с

which ls 
не работает, ничего не случилось user34104 14 лет назад 0
Что происходит, когда вы пытаетесь * * * * * / bin / ls /? Предполагая, конечно, что ваш ls находится в / bin / ls .. SW. 14 лет назад 0
Хороший совет использовать полные пути для программ, запускаемых пользователем root, но вывод ls никогда не будет виден и нигде не сохранен ... Oliver Friedrich 14 лет назад 0
1
Ivan Petrushev

Как я уже говорил в вашем другом вопросе, ошибки и предупреждения от cronи atмогут быть просмотрены в вашей локальной почте.

И ваш cronjob не так, это должно быть что-то вроде:

01 12 * * * ls -l [somedir]> [файл с результатами] 

[somedir] - это каталог, который вы пытаетесь перечислить.

[некоторый файл с результатами] - это путь к файлу, в котором будет храниться ваш результат.