ack ничего не выводит, используя crontab в Linux.
В файле crontab (отредактированном с помощью sudo crontab -e
):
39 20 * * * /ext/test110.sh
И cat /ext/test110.sh
покажет
#! /bin/sh
/usr/bin/ack "localhost" /etc/hosts > /ext/1.t
which ack > /ext/2.t
После cron в /ext
есть 1.t и 2.t
cat 2.t
выведет /usr/bin/ack
; Однако ничего в 1.t
.
Если я запущу ack "localhost" /etc/hosts > /ext/3.t
в bash (4.3.30) или sh напрямую, он выведет: 127.0.0.1 localhost
Кажется, что ack не может работать с cron. где ошибка? Спасибо.
uname -a
:
Linux xxx 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
ack 2.14, работает под Perl 5.20.2 в /usr/bin/perl
which ack
, затем возьмите это значение и используйте его в своем вызове внутри вашего скрипта. То есть используйте/full/path/to/ack
в своем сценарии. В противном случае добавьте это значение в переменнуюPATH
. Подобные вопросы здесь задают каждый день, пожалуйста, научитесь пользоваться функцией поиска. Удачи. - person shellter   schedule 14.09.2017/ext/1(2).t
пусты? Является ли/ext
чем-то помимо стандартной файловой системы дисковода? Что произойдет, если вы замените/ext
на/tmp
? Хм...Linux timemachine
Это ваши компьютеры, или вы запускаете это на программно-аппаратном продукте, таком как NAS? Вы смотрели наman ack
, есть ли что-нибудь об отсутствии вывода, когда он не запускается с терминального устройства? Удачи. - person shellter   schedule 14.09.2017ack
. Очень интересно читать на странице руководства. Есть ли у вас файл.ackrc
, и если да, то есть ли у вашего пользователя crontab такой же файл? Может быть, изменить свой сценарий, чтобы использовать--noenv
? В противном случае есть почтовая группа для акка, так что, возможно, отправьте туда свою проблему. То, что вы описываете, выходит за рамки традиционных программ * nix. Отзыв закрытого голосования и ++, так как это не ваша обычная проблема с crontab. Удачи! - person shellter   schedule 14.09.2017--noenv
на это не влияет. Я отвечу, как только получу решение из других источников. Спасибо. - person Zhilong Jia   schedule 15.09.2017