Planifier plusieurs heures de réveil pour Mac?

14

J'ai des systèmes exécutant Mac OS X 10.5.8 et 10.6.8 pour lesquels je voudrais planifier des tâches cron avec l'application GUI Cronnix.

Je préfère que ces ordinateurs dorment jusqu'au démarrage des travaux planifiés. Je sais que le volet Préférences système Energy Saver me permet de planifier des heures de réveil quotidiennes pour l'ordinateur, mais mes tâches cron s'exécutent à différentes heures de la journée.

Existe-t-il un moyen de configurer plus d'une heure de réveil par jour sur ces Mac? Je préfère une approche basée sur l'interface graphique, mais toutes les idées que vous avez seraient formidables, merci!

hpy
la source

Réponses:

12

Désolé, je ne connais que les outils de ligne de commande pour faire le travail.

Vous pouvez utiliser pmsetpour cela (comme dans pmset schedule wake "02/12/2012 12:42:00").

Plus d' explications ici et, bien sûr, man pmset.

Configuration de plusieurs événements "Power On" et Power Off "

Actuellement, il semble que pmset ne vous permette PAS de définir plus d'une paire d'événements «sous tension» et «hors tension» lors de l'utilisation d'un programme répétitif.

Par exemple...

# pmset repeat shutdown MTWRFSU 02:00:00 wakeorpoweron MTWRFSU 06:45:00

La commande ci-dessus définirait un programme de répétition qui arrêterait le Mac tous les soirs à 2 heures du matin et le démarrerait tous les jours à 6h45.

Mais, si vous souhaitez définir plusieurs événements de «mise sous tension» et «mise hors tension», vous pouvez spécifier une date / heure spécifique et avec un peu de script, vous pouvez configurer un calendrier pour un mois.

# pmset schedule wakeorpoweron "06/07/2007 07:00:00"
# pmset schedule shutdown "06/07/2007 22:00:00"
# pmset schedule wakeorpoweron "06/07/2007 00:00:00"
# pmset schedule shutdown "06/07/2007 01:00:00"
cdelacroix
la source
5

Cet article, Comment allumer votre Mac à une date et une heure spécifiques , montre comment planifier la mise sous tension de votre Mac à l'aide d'Energy Saver pmset, et de Power Manager.

La méthode la plus efficace est avec Power Manager ; il peut planifier les multiples événements de mise sous tension et de réveil dont vous avez besoin à l'aide de l'interface utilisateur graphique (GUI).

Power Manager prend en charge Mac OS X 10.6 et versions ultérieures, mais la version précédente est toujours disponible et prend en charge Mac OS X 10.4 - 10.7 pour PPC et Intel.

Divulgation: je travaille pour l'entreprise qui fabrique Power Manager.

entrez la description de l'image ici

Graham Miln
la source
3

Vous pouvez utiliser cron pour modifier l'heure de réveil à l'aide de pmset. Par exemple, disons que vous voulez exécuter script1 à 1 heure du matin et script2 à 3 heures du matin. Dans le crontab de root:

0 1 * * * /path/to/script1
0 1 * * * pmset repeat shutdown MTWRFSU 01:01:00 wakeorpoweron MTWRFSU 02:59:00

0 3 * * * /path/to/script2
0 3 * * * pmset repeat shutdown MTWRFSU 03:01:00 wakeorpoweron MTWRFSU 00:59:00

Lorsque script1 est exécuté, cron exécute pmset pour s'arrêter en 1 min et se réveiller lorsqu'il est temps d'exécuter script2. De même, lorsque script2 est exécuté, il se met en place pour script1.

Le chaînage de vos tâches cron de cette façon équivaudrait à utiliser plusieurs heures de réveil.

user66309
la source
Comment éditer la crontab de la racine?
martineau
2
@martineau sudo crontab
user66309
1

L'enchaînement des travaux CRON à la mise sous tension comme suggéré par user66309 serait la meilleure solution. Mais pour vous assurer que le premier travail CRON s'exécute réellement, vous devez ajouter un travail CRON @reboot pour planifier le premier événement wakeorpoweron.

# the first wake or power on event is scheduled just before midnight
@reboot pmset repeat wakeorpoweron MTWRFSU 23:59:00
# schedule script1 for 1 minute past midnight
# keep computer awake as long as script1 is running
1 0 * * * caffeinate -i path/to/script1
# wake or power on computer a few minutes before script2 is scheduled
1 0 * * * pmset repeat wakeorpoweron MTWRFSU 11:59:00
# keep computer awake as long as script2 is running
1 12 * * * caffeinate -i path/to/script2
# wake or power on computer a few minutes before script1 is scheduled
1 12 * * * pmset repeat wakeorpoweron MTWRFSU 23:59:00

Comme suggestion supplémentaire, je ne planifierais pas d'arrêt ou de mise en veille. Au lieu de cela, j'exécuterais le script avec caffeinate -i. De cette façon, l'ordinateur reste éveillé aussi longtemps que le script en a besoin, puis les paramètres système pour le sommeil prennent effet. De cette façon, votre ordinateur ne s'arrêtera pas pendant que vous travaillez dessus.

Jip
la source
-1

Je pense que c'est ce que vous recherchez. https://youtu.be/84fLayEY9Z4

Meilleurs vœux!

Steve G.
la source
La réponse doit être utile s'il n'y a pas de lien.
user151019