La façon correcte de le faire est d'utiliser Crontab - si vous n'avez pas accès à votre crontab, vous devriez vraiment parler à votre administrateur - il ne veut probablement pas que vous exécutiez des tâches planifiées. Cela dit, avant de dire que vous n'avez pas les permissions pour la commande crontab, essayez d'exécuter "crontab -e" - chaque utilisateur a son propre fichier cron, et crontab - tentera de modifier le vôtre. (Je note que lorsque je lance crontab par lui-même en tant qu'utilisateur, il se fige).
Vous pouvez faire en sorte que pratiquement n'importe quelle tâche s'exécute en arrière-plan en ajoutant le caractère "&" à la tâche. Je vous déconseille vivement de le faire, mais vous pourriez écrire un script dans une boucle while qui vérifie l'heure, puis attend une minute, vérifie à nouveau etc, et s'il correspond, exécute la commande. Vous pourriez exécuter ce script avec & pour l'exécuter en arrière-plan. Vous pourriez aussi avoir des problèmes pour avoir subverti le système.....
Une autre commande à consulter est "screen". Elle vous permet d'attacher et de détacher votre terminal de la console - cela peut être un moyen utile d'exécuter quelque chose en arrière-plan, tout en étant capable de le voir et d'interagir avec lui (vous pouvez faire écran, puis exécuter le programme en avant-plan, puis vous détacher de l'écran, et le rattacher plus tard).
エディテージ
Un script pour vérifier l'heure une fois par minute et exécuter la commande au moment approprié :
#! /bin/bash
RUNAT="07:54"
while [ 1 ]
do
DATE=`/bin/date +%H:%M`
if [ $DATE. = $RUNAT. ]
then
/path/to/script.sh
fi
sleep 60
done
Enregistrez ceci sous (par exemple) mycron.sh, chmod 755 mycron.sh pour qu'il s'exécute, Modifiez la ligne RUNAT pour qu'elle se déclenche lorsque vous voulez que votre script s'exécute, puis exécutez ce script en tant que mycron.sh & afin qu'il s'exécute en arrière-plan.
Ce script ne fera déborder aucune pile car il n'exécute la commande qu'une fois par jour, il ne "s'enchaîne pas".