Comment exécuter une commande, par exemple, dans 8 heures? Je peux penser de cette façon:
nohup bash -c "sleep 28800 ; ./mycommand.sh" &
Y a-t-il un moyen plus "approprié"?
Comment exécuter une commande, par exemple, dans 8 heures? Je peux penser de cette façon:
nohup bash -c "sleep 28800 ; ./mycommand.sh" &
Y a-t-il un moyen plus "approprié"?
Vous pouvez utiliser la commande at
. Les commandes at
exécutent ultérieurement. L'utilitaire at
doit lire les commandes de l'entrée standard et les regrouper en tant que travail pour être exécuté ultérieurement.
Habituellement, at
est installé par défaut dans Ubuntu, mais si votre version ne l’inclut pas, installez via:
sudo apt-get install at
Pour plus d’informations, d’options, d’exemples et d’autres, consultez le dépôt de pages de manuel Ubuntu
Exemple:
at now +8 hours -f ~/myscript.sh
Vous pouvez également utiliser des raccourcis pratiques, tels que tomorrow
ou noon
, comme dans
echo "tweet fore" | at teatime
Avertissement: Cela exécutera la commande à gauche du tube immédiatement , mais présentera uniquement sa sortie ultérieurement.
L'exemple montre également comment canaliser des actions vers at
. at -c
est la manière dont vous pouvez examiner les actions planifiées, que vous pouvez facilement répertorier avec leur numéro, comme avec:
at -c 3
Oui, vous pouvez définir un travail cron.
Par exemple, si l'heure est 14:39:00 et aujourd'hui le vendredi 30 août, vous pouvez ajouter le travail cron suivant (à exécuter après 8 heures) dans votre fichier crontab en utilisant la commande crontab -e
:
39 22 30 8 5 /path/to/mycommand.sh
En savoir plus sur:
Utilisez l'interface graphique basée sur Gnome pour cron
, at
, etc.:
L’introduction de la CronHowto suggère d’utiliser le gnome-schedule
gui, qui est bien plus agréable que de taper tous le terminal (en particulier pour les utilisateurs Ubuntu "moyens" qui ne sont pas des utilisateurs "nix / bsd").
Exécutez-le en utilisant Unity Dash (ou un autre menu d'applications) pour rechercher Tâches planifiées ou en exécutant gnome-schedule
.
Sur les systèmes Ubuntu basés sur Gnome Outil de tâches planifiées Gnome (à partir de gnome-schedule) package) dans Applications - & gt; Outils système fournit une interface graphique avec invite pour utiliser Cron. Le site Web du projet est à lien ; la le logiciel est installable à partir du Software Center ou en tapant
sudo apt-get install gnome-schedule
dans un terminal.
En utilisant gnome-schedule
, pour un script dans votre répertoire personnel, une nouvelle commande "at" serait configurée avec ce type de fenêtre:
J'ai trouvé un moyen rapide et sale de le faire avant de découvrir que at
était une chose.
Dites que vous souhaitez que votre script s'exécute à midi:
until [[ "$(date)" =~ "12:00:" ]]; do
sleep 10
done
./mycommand.sh
Dites que vous voulez qu’il fonctionne demain à midi (aujourd’hui le 24 novembre pour moi):
until [[ "$(date)" =~ "25 12:00:" ]]; do
sleep 30
done
./mycommand.sh
Lire d'autres questions sur les étiquettes command-line bash schedule