Je viens de commencer à utiliser crontab et j'ai quelques problèmes avec. J'ai déjà lu quelques articles sur la façon de l'utiliser sur macOS, mais cela ne fonctionne toujours pas.
Donc, j'écris crontab -e
, puis je le */1 * * * * cliclick -w 1 m:3,3
en */1 * * * * cliclick -w 1 m:3,3
(par exemple) - ce qui signifie répéter le clic en x = 3; y = 3 toutes les 1 min. Et rien n'a changé. Mais, lorsque j'utilise uniquement cette commande depuis le terminal, tout va bien.
J'ai déjà essayé de créer un fichier script.sh
, et la même situation: à partir de la commande manuelle, cela fonctionne et à partir de crontab ne l'est pas.
Peut-être que je fais quelque chose de mal? MISE À JOUR : Crontab a un accès complet au disque.
UPDATE2: J'ai essayé de le refaire sur le BigSur. Tout d'abord, j'utilise une commande plus simple comme echo
:
* * * * * echo 'test' >> /*/Desktop/text.txt
Et cela fonctionne bien. Après cela, j'écris mon propre script.sh
echo '2test' >> /Users/***/Desktop/t.txt /usr/local/bin/cliclick -w 1 m:1,3 cliclick -w 1 m:55,44
Et le cliclick ne fonctionne pas, comme les autres fichiers bin situés dans /usr/local/bin/
(cliclick situé dans ce chemin)
Notez que si j'exécute ./script.sh alors cliclick fonctionne bien dans les deux cas.
J'ai soigneusement cherché sur Google et trouvé que lancer cliclick (et autre) n'est PAS possible via crontab
: https://github.com/BlueM/cliclick/issues/103
3 Réponses :
Vous pouvez vérifier s'il y a des erreurs lors de l'exécution du cron en le configurant comme ci-dessous.
*/1 * * * * cliclick -w 1 m:3,3 >> output.log 2>&1
la dernière partie 2>&1
redirigera également le STDERR vers le fichier output.log.
Pour votre problème de chemin. Vous pouvez essayer quelque chose comme. * / 1 * * * * cd / Users / votre-nom-d'utilisateur / Bureau && ./cliclick.sh
Ça ne marche pas. Maintenant output.log est vide du tout. cliclick c'est des utilitaires de brassage. Si vous pouvez m'aider, un chemin vers cliclick est: 1) / usr / local / Cellar / cliclick. 2) Où je suis: / Users / my-name / 3) echo $ PATH return: / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin: / Library / Framew orks / Mono.framework / Versions / Actuel / Commandes: / Applications / Wireshark.app/Conten ts / MacOS 4) Dans différents StackOverflow répond la même chose, mais tout à fait une situation différente, donc ils écrivent PATH. sh fichiers, mais cela ne m'a pas aidé. 5) Hm ... de quelle manière je devrais écrire ... Peut-être connaissez-vous différents utilitaires de planification?
pouvez-vous essayer d'exécuter cette commande /usr/local/Cellar/cliclick -w 1 m:3,3
dans le terminal et voir ce qui se passe?
formulae.brew.sh/formula/cliclick - c'est donc cliclick. Peu importe où je reste, par exemple / usr / local / Cellar / cliclick ou simplement / Users ou /. En fait, ne comprenez pas ce que vous voulez dire: /usr/local/Cellar/cliclick -w 1 m:3,3
, /usr/local/Cellar/cliclick
est un moyen de dossier, comme une manière différente de brasser des utilitaires. Si vous voulez dire cd / usr / local / Cellar / cliclick puis cliclick -w 1 m: 3,3, cela fonctionne correctement. J'ai déjà résolu le problème d'utilisation en C ++, mais c'est une mauvaise idée, je pense. Merci
ok, je pensais que cliclick était installé dans / usr / local / Cellar et c'est la raison pour laquelle je voulais que vous essayiez cette commande.
Vous devez autoriser l' accès complet au disque pour terminal.app dans Paramètres> Sécurité et confidentialité> Confidentialité.
Mon problème était que cron n'avait pas accès au disque, donc il ne pouvait pas exécuter mon script. J'ai dû donner un accès complet au disque pour /usr/sbin/cron
Voir ce billet de blog: https://blog.bejarano.io/fixing-cron-jobs-in-mojave/
Toujours incapable de courir. Connaissez-vous une autre raison pour laquelle il peut ne pas fonctionner sous MacOS? J'utilise Mojave 10.14.5.
J'ai lu que le problème venait de PATH (output.log dit que la commande n'est pas trouvée, car elle a fonctionné d'une manière différente de celle du terminal, mais je ne sais pas comment le résoudre. "/ Bin / sh: cliclick: commande non trouvé "echo $ PATH: / usr / local / bin: / usr / bin: / bin: / usr / sbin: / sbin: / Library / Framew orks / Mono.framework / Versions / Current / Com mands: / Applications / Wireshark.app/Conten ts / MacOS Mon fichier .sh sur le bureau. Comment écrire correctement dans ce fichier? Merci!