web-dev-qa-db-fra.com

Comment configurer deux tâches cron pour qu'elles s'exécutent tous les soirs à 3h00 et à 3h10?

J'ai un serveur domestique Ubuntu qui exécute une boîte virtuelle. J'ai un serveur virtuel fonctionnant sur cette boîte avec laquelle j'ai des problèmes. Pour l'instant, je n'ai pas le temps de résoudre le problème, mais j'ai constaté que le redémarrage du serveur corrige le problème pendant au moins 24 heures. Donc, ma solution rapide est de redémarrer le serveur chaque nuit.

La ligne du bas est que je veux exécuter la commande suivante à 3:00 am 7 jours par semaine.

vboxmanage controlvm virtualpbx acpipowerbutton

à 3h05 chaque nuit, je veux exécuter la commande suivante.

vboxmanage startvm virtualpbx -type headless

La meilleure réponse me donnera des instructions pas à pas pour y parvenir, du lancement de la console à la fermeture de la console. Je veux en savoir plus sur l'infrastructure cron et linux, mais pour l'instant je n'ai pas le temps.

Merci beaucoup pour votre aide.

Seth B Spearman

** MODIFIER **
Je veux pouvoir les mettre en place à partir d’une invite ssh. (Ne rigolez pas, mais le serveur n’a pas encore de moniteur connecté et il faudrait beaucoup de travail pour le faire fonctionner.). Mais je peux y aller à tout moment.

D'après l'invite ssh, crontab ne semble pas fonctionner ... il passe simplement à la ligne suivante et semble attendre d'autres entrées.

J'ai essayé d'installer crontab à partir de ssh en utilisant Sudo apt-get install crontab mais il ne le trouve dans aucun référentiel.

Je pense donc que je vais utiliser nano et le faire manuellement, mais je dois savoir où le mettre.

Tout cela à dire ... Je le fais à partir d'une invite SSH ... ce qui, à mon avis, n'a pas d'importance, mais je pensais que je vous le ferais savoir.

Seth

4
Seth Spearman

Ouvrez un terminal (Ctrl+Alt+T) puis lancez:

crontab -e

S'il vous demande de sélectionner un éditeur, choisissez nano. Insérez ces lignes à la fin du fichier:

 0 3 * * * vboxmanage controlvm virtualpbx acpipowerbutton
 5 3 * * * vboxmanage startvm virtualpbx -type headless

Presse Ctrl+O,Return pour sauvegarder le fichier et Ctrl+X pour quitter. Ensuite, exécutez exit pour fermer le terminal.

EDIT
Voici ce que le PO a fait:

  1. ssh au serveur
  2. Sudo nano /etc/crontab <key in password>
  3. éditez selon la recommandation d'Eric, mais ajoutez le nom d'utilisateur qui démarre les VM comme suit ...

    0 3 * * * username vboxmanage controlvm virtualpbx acpipowerbutton   
    5 3 * * * username vboxmanage startvm virtualpbx -type headless  
    
  4. CTRL-X à fermer. Entrez pour enregistrer la crontab.

  5. Redémarrez cron: Sudo service cron stop puis Sudo service cron start.
8
Eric Carvalho

Drop to console

Créez un script bash, un pour chacune des commandes (n'oubliez pas de les rendre exécutables avec Sudo chmod +x filename.sh) et stockez-les dans un endroit où cron peut les exécuter.

Sudo anacron -t 00 03 * * * /path/to/script/script1.sh

Sudo anacron -t 10 03 * * * /path/to/script/script2.sh

Prendre plaisir!

4
RGS