Существуют определенные команды терминала, которые могут выполняться только как пользователь root. Если мы попытаемся выполнить их без ключевого слова sudo, они потерпят неудачу с ошибкой Permission denied. Примером может служить команда создания каталога / папки в определенных местах.
Мне нужно запустить одну такую команду как часть задания cron в моем Ubuntu 16.04. Обычно я мог запустить команду с ключевым словом sudo в терминале, и мне будет предложено ввести пароль пользователя root, а затем команда будет выполнена успешно.
Но теперь, когда я должен ввести эту команду в качестве части задания cron в файле crontab, как мне это сделать? Как запустить такую команду как часть cronjob?
Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.
Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:
$ * * * * * /usr/bin/sudo /your/command
Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]
Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.
Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:
$ * * * * * /usr/bin/sudo /your/command
Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]
Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.
Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:
$ * * * * * /usr/bin/sudo /your/command
Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]
Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:
* * * * * root mkdir /foo/bar
Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:
* * * * * root mkdir /foo/bar
Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:
* * * * * root mkdir /foo/bar