Я хотел бы настроить запланированное задание через, anacron
но я хотел бы сделать это в режиме пользователя. Как мне этого добиться?
Я хотел бы настроить запланированное задание через, anacron
но я хотел бы сделать это в режиме пользователя. Как мне этого добиться?
Ответы:
Вы можете настроить отдельный экземпляр anacron для запуска в пользовательском режиме:
Создайте .anacron
папку в вашем домашнем каталоге и в ней две подпапки, etc
и spool
:
mkdir -p ~/.anacron/{etc,spool}
Создайте новый файл ~/.anacron/etc/anacrontab
с содержимым, похожим на следующее:
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# period delay job-identifier command
1 10 testjob test.sh
Добавьте следующую строку в ваш crontab, используя crontab -e
:
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool
whoami
в сценарии будет указано имя пользователя?
anacron
периодически бегать ; кажется, один раз запустить, а затем выйти. Системный анакрон вызывается один раз в час. Я предполагаю, что подобная стратегия будет работать здесь, то есть вызов пользователя anacron
от пользователя crontab
.
/etc/apm/event.d/anacron
и другое, /etc/init/anacron.conf
чтобы позаботиться о перезапусках.
01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Это сработало для меня (спасибо), но я не использовал последний шаг, указанный в ответе:
Затем добавьте следующую строку в ваш
~/.profile
:
Я использую Ubuntu Studio 12.10 Quantal, и в моем случае вместо этого последнего шага я поместил здесь один вкладыш: «Меню приложений» → «Настройки» → «Диспетчер настроек», затем в Диспетчере настроек в разделе «Сеанс и запуск», затем Вкладка «Автозапуск приложения».
Это для тех из нас, кто является пользователями GUI, потому что ~/.profile
bash получает только когда запускает интерактивную оболочку входа в систему (даже ~/bashrc
не очень полезно, так как это происходит только когда bash запускает интерактивную оболочку).
.profile
меня всегда хорошо работала строка в (Ubuntu 12.04 здесь).
sudo -u <user>
перед тем, как выполнить задачуanacrontab