Як я можу запустити анакрон в режимі користувача?


30

Я хотів би встановити заплановане завдання через, anacronале я хотів би зробити це в режимі користувача. Як я можу цього досягти?


Якщо ви хочете, щоб завдання виконувались у користувальницькому режимі, ви можете зробити те, що я зробив, і просто передбачити sudo -u <user>перед завданням вanacrontab
Karthik T

2
Також відповів тут: serverfault.com/questions/172989/user-specific-anacrontab/… і ось приємне повністю написане рішення: akeil.net/posts/user-cont kontroli-anacron.html
Саймон Вудсайд

Відповіді:


33

Ви можете налаштувати окремий екземпляр анакрона для запуску в режимі користувача:

  1. Створіть .anacronпапку у своєму домашньому каталозі, а в ній дві підпапки, etcі spool:

    mkdir -p ~/.anacron/{etc,spool}
  2. Створіть новий файл ~/.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
    
  3. Додайте наступний рядок у свій crontab, використовуючи crontab -e:

    @hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool

Тільки для підтвердження, що цей запускається вказаний сценарій як користувач, тож whoamiу скрипті буде вказано ім’я користувача?
Крістоф

гм, так, при подальшому огляді я не бачу, чому б не ...
Крістоф

3
Я думаю, що потрібно anacronперіодично бігати ; здається, що колись запущено, то кинь. Анакрон системи викликається один раз на годину. Я припускаю, що подібна стратегія спрацює тут, тобто зателефонуйте користувачеві anacronвід користувача crontab.
Sparhawk

1
@Sparhawk погодився, зокрема, Ubuntu 15.10 анакрон використовує і те, /etc/apm/event.d/anacronі /etc/init/anacron.confподбати про перезавантаження.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

1
Вам потрібно запускати анакрони щогодини з роботою з кроном, наприклад01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Simon Woodside

0

Це працювало для мене (спасибі), але я не використав останній крок у відповіді:

Потім додайте наступний рядок до свого ~/.profile:

Я використовую Ubuntu Studio 12.10 Quantal, і в моєму випадку замість цього останнього кроку я розміщую тут один вкладиш: "Меню програм" → "Налаштування" → "Менеджер налаштувань", потім у Менеджері налаштувань у розділі "Сесія та запуск", а потім Вкладка "Автозапуск програми".

Це для тих, хто є користувачами графічного інтерфейсу, тому ~/.profileщо баш використовується лише під час запуску інтерактивної оболонки для входу (навіть ~/bashrcце не так корисно, оскільки це відбувається лише тоді, коли bash запускає інтерактивну оболонку).


Ммм, я сам користувач графічного інтерфейсу, і рядок у .profileмене завжди добре працював (тут Ubuntu 12.04).
Glutanimate
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.