Możesz skonfigurować osobną instancję anakronu do działania w trybie użytkownika:
Utwórz .anacronfolder w swoim katalogu domowym, aw nim dwa podfoldery, etci spool:
mkdir -p ~/.anacron/{etc,spool}
Utwórz nowy plik ~/.anacron/etc/anacrontabz zawartością podobną do następującej:
# /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 command110 testjob test.sh
Dodaj następujący wiersz do swojego crontab, używając crontab -e:
Żeby tylko potwierdzić, uruchamia on określony skrypt jako użytkownik, więc a whoamiw skrypcie poda nazwę użytkownika?
Christoph
hm tak, przy dalszej kontroli nie widzę, dlaczego nie ...
Christoph
3
Myślę, że musisz biegać anacronokresowo; wydaje się działać raz, a następnie wyjść. Anakron systemu jest wywoływany raz na godzinę. Przypuszczam, że działałaby tutaj podobna strategia, tzn. Zadzwonić do użytkownika anacronod użytkownika crontab.
Sparhawk
1
@Sparhawk zgodził się, w szczególności anacron z Ubuntu 15.10 używa obu tych funkcji /etc/apm/event.d/anacroni /etc/init/anacron.confzajmuje się restartami.
Ciro Santilli 9 改造 中心 法轮功 六四 事件
1
Trzeba uruchomić anacron godzinowa z crona np01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Simon Woodside
0
To działało dla mnie (dzięki), ale nie użyłem ostatniego kroku podanego w odpowiedzi:
Następnie dodaj następujący wiersz do ~/.profile:
Używam Ubuntu Studio 12.10 Quantal iw moim przypadku zamiast tego ostatniego kroku umieściłem tutaj jedną linijkę: „Menu aplikacji” → „Ustawienia” → „Menedżer ustawień”, a następnie w Menedżerze ustawień w sekcji „Sesja i uruchomienie”, a następnie Karta „Autostart aplikacji”.
To jest dla tych z nas, którzy są użytkownikami GUI, ponieważ ~/.profilejest pozyskiwany tylko przez bash, gdy uruchamia interaktywną powłokę do logowania (nawet ~/bashrcnie jest tak przydatny, ponieważ jest pozyskiwany tylko wtedy, gdy bash uruchamia interaktywną powłokę).
sudo -u <user>
przed zadaniem wanacrontab
Odpowiedzi:
Możesz skonfigurować osobną instancję anakronu do działania w trybie użytkownika:
Utwórz
.anacron
folder w swoim katalogu domowym, aw nim dwa podfoldery,etc
ispool
:Utwórz nowy plik
~/.anacron/etc/anacrontab
z zawartością podobną do następującej:Dodaj następujący wiersz do swojego crontab, używając
crontab -e
:źródło
whoami
w skrypcie poda nazwę użytkownika?anacron
okresowo; wydaje się działać raz, a następnie wyjść. Anakron systemu jest wywoływany raz na godzinę. Przypuszczam, że działałaby tutaj podobna strategia, tzn. Zadzwonić do użytkownikaanacron
od użytkownikacrontab
./etc/apm/event.d/anacron
i/etc/init/anacron.conf
zajmuje się restartami.01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
To działało dla mnie (dzięki), ale nie użyłem ostatniego kroku podanego w odpowiedzi:
Używam Ubuntu Studio 12.10 Quantal iw moim przypadku zamiast tego ostatniego kroku umieściłem tutaj jedną linijkę: „Menu aplikacji” → „Ustawienia” → „Menedżer ustawień”, a następnie w Menedżerze ustawień w sekcji „Sesja i uruchomienie”, a następnie Karta „Autostart aplikacji”.
To jest dla tych z nas, którzy są użytkownikami GUI, ponieważ
~/.profile
jest pozyskiwany tylko przez bash, gdy uruchamia interaktywną powłokę do logowania (nawet~/bashrc
nie jest tak przydatny, ponieważ jest pozyskiwany tylko wtedy, gdy bash uruchamia interaktywną powłokę).źródło
.profile
zawsze działało dla mnie dobrze (tutaj Ubuntu 12.04).