Назад | Перейти на главную страницу

Вопрос Linux / Ubuntu, как запустить crontab от имени другого пользователя?

Я хочу, чтобы crontab запускался по расписанию на ежедневной основе, но не как пользователь root. Причина в том, что это простая работа по резервному копированию и очистке, и я не хочу никаких аварий. Папка резервного копирования будет иметь разрешения для пользователя mysql-backup (например), и я хочу, чтобы crontab запускался только как пользователь mysql-backup. Очевидно, я не хочу, чтобы пользователь mysql-backup вошел в систему или что-то в этом роде, чтобы crontab работал.

любая помощь будет оценена по достоинству.

вы можете либо отредактировать crontab нужного пользователя (crontab -e -u mysql-backup), либо использовать su или sudo для перехода к этому пользователю во время выполнения в crontab root.

бегать sudo crontab -u <user> -e.

Если вы root, вы можете просто использовать su для пользователя и создать crontab.

Это должно сработать.

Что-то вроде этого должно работать нормально.

su kyle -c "crontab -e"

свистит про себя

crontab -u kyle -e

Очевидно, я имел в виду именно это.

Поскольку на него не было явного ответа, пользователь не должен быть обычным пользователем или иметь права входа в систему или что-то подобное, чтобы иметь рабочий crontab.

Для системного crontab, /etc/crontab, шестое поле - пользователь. Для crontab, используемого пользователем, запустите crontab -e от имени этого пользователя и отредактируйте его crontab. Crontab для пользователей хранится в /var/spool/cron/<username>