Définissez cron à partir de 1 sur Ubuntu 16.04 (Sakura VPS) et exécutez régulièrement le programme python

Objectif

Je souhaite exécuter automatiquement un programme python sur Ubuntu de manière régulière. J'ai mis cron à partir de 1.

environnement

Système d'exploitation: Ubuntu16.04 (Sakura VPS) python : Version 3.5

Paramètres initiaux CRON

Fonctionnement 1) Contrôle du fonctionnement CRON </ b>

sudo service cron status

Différents états CRON sont affichés, S'il dit "Actif: actif (en cours)", cela devrait être OK.

Si ça ne marche pas

service crond start

Commencer avec.

Opération 2) Enregistrez le travail dans le fichier de configuration cron </ b>

crontab, qui est un fichier de configuration cron, peut être exécuté avec la commande suivante.

crontab -e

Cependant, si vous appuyez accidentellement sur r à côté de e sur le clavier, "crontab -r" initialisera tous les paramètres de crontab, il est donc dangereux d'utiliser fréquemment "crontab -e".

Il existe plusieurs manières d'éviter d'utiliser crontab -e, mais je suis les étapes ci-dessous pour faire une sauvegarde et la modifier séparément.

crontab -l > ~/crontab #sauvegarde
vim ~/crontab        #Modifier la sauvegarde
crontab < ~/crontab  #Écraser le corps principal

Les détails sur la façon d'écrire crontab sont décrits sur d'autres sites, c'est donc une bonne idée de s'y référer. Par exemple, here était facile à comprendre.

Lors de l'exécution d'un programme python, vous devez écrire le chemin où python est stocké avant le programme.

Par exemple, si vous souhaitez exécuter test.py toutes les minutes,

* * * * * /<path_to_python>/python3 /<path_to_file>/test.py 

Ce sera.

Si vous ne connaissez pas le chemin vers python

which python3

Vous pouvez le découvrir sur.

Si vous souhaitez sortir le journal,

* * * * * <path_to_python>/python3 /<path_to_file/test.py >> /<path_to_log>/test.log 2>>&1

Sera bien.

Opération 3) Modifier les autorisations de fichier </ b>

Fondamentalement, les paramètres jusqu'à l'étape 2 sont corrects, mais dans mon cas, j'ai eu une erreur Permission Denied. Étant donné que l'autorisation d'exécution de CRON est root et que le propriétaire du fichier est un autre utilisateur, il n'y a pas d'autorisation en raison du paramètre d'autorisation.

Pour le moment, changez-le en "Propriétaire: root, permission 700".

chmod 700 test.py
chown root:root test.py

Désormais, test.py est automatiquement exécuté régulièrement.

Recommended Posts