Oui, ils persistent à travers les redémarrages (ce ne sont que des fichiers dans une file d'attente).
En ce qui concerne l'accès à ces fichiers, en tant qu'utilisateur normal, vous n'aurez pas accès aux fichiers, mais vous pourriez construire un système pour les sauvegarder. Peut-être quelque chose comme ceci:
MYAT=~/atjobs
/bin/rm -rf $MYAT/*
at -l >$MYAT/JOBS
for j in `cat $MYAT/JOBS | cut -f1`
do
at -c $j >$MYAT/$i
done
Si vous avez besoin de recharger le travail plus tard:
for j in `cat $MYAT/JOBS | cut -f1`
do
# assurez-vous que le travail n'est pas défini
atrm $j
# rechargez-le depuis le fichier
at -f $MYAT/$j `grep ^$j $MYAT/JOBS | awk '{ print $3, $2 }'`
(tout cela est principalement non testé. Les commandes de base sont correctes mais il y a sûrement un bug dans la logique quelque part)
Cela dit, je ne suis pas sûr que j'utiliserais at pour la tâche que vous décrivez. Je utiliserais probablement un système de calendrier préexistant. Sinon, j'utiliserais un travail cron qui s'exécute quotidiennement et vérifie un fichier pour voir s'il y a des messages à envoyer. Beaucoup plus portable que les travaux at, et beaucoup plus susceptible d'être rappelé si vous changez de machine...