Planifier une tâche sous Windows

Je voulais automatiser la sauvegarde de mon PC sous Windows, mais il se trouve que le “Planificateur de tâches” rame et plante au point qu’il est inutilisable. Voici donc comment s’en passer via la ligne de commande (cmd.exe).

La commande que l’on utilise est schtasks. Pour voir l’aide de la commande :

schtasks /?

Pour créer une tâche nommée jm.backup et lancer la commande ci-dessous à 13h38 (il était 13h37 à ce moment-là ; ça me permet de tester le bon déroulement de la tâche) :

schtasks /Create /TN jm.backup /TR "'C:\My Program Files\cygwin\bin\bash.exe' -l -c '/home/jm/snapshot.sh daily'" /SC ONCE /ST 13:38

Pour relancer manuellement la tâche :

schtasks /Run /TN jm.backup

Pour voir tous les paramètres de la tâche :

schtasks /Query /TN jm.backup /FO list /V

Pour recréer la tâche avec une répétition quotidienne à 13h (l’effet de la commande /Change est différent, bizarrement) :

schtasks /Create /TN jm.backup /TR "'C:\My Program Files\cygwin\bin\bash.exe' -l -c '/home/jm/snapshot.sh daily'" /SC DAILY /ST 13:00 /F

Pour désactiver la tâche (/ENABLE pour réactiver) :

schtasks /Change /TN jm.backup /DISABLE

Pour supprimer la tâche :

schtasks /Delete /TN jm.backup

NB : schtasks ne propose pas toutes les options, comme permettre l’exécution d’une tâche lorsque l’ordinateur est sur batterie. Pour cela il faut sortir le fichier XML de la tâche, l’éditer puis l’importer :

schtasks /Query /TN jm.backup /XML >jm.xml
... (on édite jm.xml)
schtasks /Create /TN jm.backup /XML jm.xml /F

En lire plus sur : windows