Согласно man crontab
, существует опция -u
для добавления имени пользователя.
Чтобы отобразить запланированные задания для пользователя, используется следующее:
crontab -l -u username
И вам необходимо иметь права суперпользователя для его использования. Если вы не являетесь пользователем root
, используйте его как:
sudo crontab -l -u username
И, согласно man crond
и / etc / crontab
, команды нет. чтобы показать пользователей, владеющих вакансиями. Владельцы заданий сохраняются в файлах со следующей структурой:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
Таким образом, я думаю, вам придется искать имена пользователей в каждом файле или писать сценарий bash, чтобы выбрать и перечислить их.
Также проверьте этот вопрос: В чем разница между /etc/cron.d и / var / spool / cron?
В вашей файловой системе может быть несколько сценариев, вызывающих одно и то же, поэтому поиск его по имени и последующее выполнение вслепую, вероятно, очень плохой идея.
Чтобы найти его, используйте find
, как показано Дж. Чомелем в другом ответе на ваш вопрос, или используйте locate
:
$ locate script.sh
Это найдет все файлы с именем script.sh
в местах, доступных для чтения всем пользователям на основе поиска в базе данных в вашей системе.Обратите внимание, что база данных обновляется на регулярной основе (один раз в день или один раз в неделю, в зависимости от того, как она настроена), поэтому файлы, добавленные с момента последнего сканирования файловой системы, не будут найдены, но это намного быстрее, чем find
.
Вы можете использовать select
для создания меню, из которого вы можете выбрать правильный сценарий и выполнить его:
$ select script in $( locate script.sh ); do echo "$script"; break; done
Измените echo
на команду
, чтобы фактически запустите выбранный сценарий, а не просто печатайте его имя.
Используйте для него команду find
у себя дома:
find ~ -name script.sh
Если вы ничего не нашли в приведенном выше описании, используйте команду find
для этого на всем F / S:
find / -name script.sh 2> / dev / null { {1}}
( 2> / dev / null
позволит избежать отображения ненужных ошибок).
Запустите его:
/ /script.sh
- и все сразу даст; подробнее о том, как найти и выполнить :
find / -name "script.sh" -exec chmod +x {} \; -exec {} \; 2>/dev/null
(будьте осторожны, если у вас более одного « script.sh
», он запустит их все)