Я хочу, чтобы 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>