Je souhaite configurer une tâche planifiée via anacronmais je souhaite le faire en mode utilisateur. Comment puis-je atteindre cet objectif?
Je souhaite configurer une tâche planifiée via anacronmais 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 .anacrondossier dans votre répertoire personnel et dans celui-ci deux sous-dossiers, etcet spool:
mkdir -p ~/.anacron/{etc,spool}Créez un nouveau fichier ~/.anacron/etc/anacrontabavec 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.shAjoutez la ligne suivante à votre crontab en utilisant crontab -e:
@hourly /usr/sbin/anacron -s -t $HOME/.anacron/etc/anacrontab -S $HOME/.anacron/spoolwhoamidans le script donnera le nom d'utilisateur?
anacronpé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 anacrondepuis l'utilisateur crontab.
/etc/apm/event.d/anacronet /etc/init/anacron.confpour 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 ~/.profilen'est fourni par bash que lorsqu'il démarre un shell interactif de connexion (même ~/bashrcn'est pas si utile car cela n'est fourni que lorsque bash démarre un shell interactif).
.profilea toujours bien fonctionné pour moi (Ubuntu 12.04 ici).
sudo -u <user>avant la tâche dansanacrontab