Je souhaite configurer une tâche planifiée via anacron
mais je souhaite le faire en mode utilisateur. Comment puis-je atteindre cet objectif?
Je souhaite configurer une tâche planifiée via anacron
mais je souhaite le faire en mode utilisateur. Comment puis-je atteindre cet objectif?
Réponses:
Vous pouvez configurer une instance anacron distincte pour qu'elle s'exécute en mode utilisateur:
Créez un .anacron
dossier dans votre répertoire personnel et dans celui-ci deux sous-dossiers, etc
et spool
:
mkdir -p ~/.anacron/{etc,spool}
Créez un nouveau fichier ~/.anacron/etc/anacrontab
avec un contenu similaire au suivant:
# /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
Ajoutez la ligne suivante à votre crontab en utilisant crontab -e
:
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spool
whoami
dans le script donnera le nom d'utilisateur?
anacron
périodiquement; il semble fonctionner une fois puis quitter. L'anacron du système est appelé une fois toutes les heures. Je suppose qu'une stratégie similaire fonctionnerait ici, c'est-à-dire appeler l'utilisateur anacron
depuis l'utilisateur crontab
.
/etc/apm/event.d/anacron
et /etc/init/anacron.conf
pour prendre en charge les redémarrages.
01 * * * * /usr/sbin/anacron -t /home/user/.anacron/etc/anacrontab -S /home/user/.anacron/spool
Cela a fonctionné pour moi (merci), mais je n'ai pas utilisé la dernière étape donnée dans la réponse:
Ajoutez ensuite la ligne suivante à votre
~/.profile
:
J'utilise Ubuntu Studio 12.10 Quantal et dans mon cas, au lieu de cette dernière étape, je mets cette ligne ici: "Menu Applications" → "Paramètres" → "Gestionnaire de paramètres" puis dans le gestionnaire de paramètres sous "Session et démarrage" puis le Onglet «Démarrage automatique de l'application».
C'est pour ceux d'entre nous qui sont des utilisateurs de l'interface graphique, car il ~/.profile
n'est fourni par bash que lorsqu'il démarre un shell interactif de connexion (même ~/bashrc
n'est pas si utile car cela n'est fourni que lorsque bash démarre un shell interactif).
.profile
a toujours bien fonctionné pour moi (Ubuntu 12.04 ici).
sudo -u <user>
avant la tâche dansanacrontab