Vorrei impostare un'attività pianificata tramite, anacron
ma vorrei farlo in modalità utente. Come posso raggiungere questo obiettivo?
Vorrei impostare un'attività pianificata tramite, anacron
ma vorrei farlo in modalità utente. Come posso raggiungere questo obiettivo?
Risposte:
È possibile impostare un'istanza anacron separata per l'esecuzione in modalità utente:
Crea una .anacron
cartella nella tua home directory e in essa due sottocartelle etc
e spool
:
mkdir -p ~/.anacron/{etc,spool}
Crea un nuovo file ~/.anacron/etc/anacrontab
con contenuti simili ai seguenti:
# /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
Aggiungi la seguente riga al tuo crontab usando crontab -e
:
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool
whoami
nello script darà il nome utente?
anacron
periodicamente; sembra funzionare una volta e poi uscire. L'anacron del sistema viene chiamato una volta ogni ora. Suppongo che una strategia simile avrebbe funzionato qui, cioè chiamare l'utente anacron
dall'utente crontab
.
/etc/apm/event.d/anacron
e /etc/init/anacron.conf
per occuparsi dei riavvii.
01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Questo ha funzionato per me (grazie), ma non ho usato l'ultimo passaggio indicato nella risposta:
Quindi aggiungi la seguente riga al tuo
~/.profile
:
Sto usando Ubuntu Studio 12.10 Quantal e nel mio caso, invece di quell'ultimo passaggio, ho inserito qui una riga: "Menu Applicazioni" → "Impostazioni" → "Gestione impostazioni", quindi in Gestione impostazioni in "Sessione e avvio", quindi il Scheda "Avvio automatico applicazione".
Questo è per quelli di noi che sono utenti della GUI, perché ~/.profile
provengono solo da bash quando avvia una shell interattiva di accesso (anche ~/bashrc
se non è così utile poiché provengono solo quando bash avvia una shell interattiva).
.profile
ha sempre funzionato bene per me (Ubuntu 12.04 qui).
sudo -u <user>
prima dell'attività inanacrontab