Maison  >  Article  >  développement back-end  >  Tâches planifiées Python, une méthode pour réaliser l'automatisation

Tâches planifiées Python, une méthode pour réaliser l'automatisation

coldplay.xixi
coldplay.xixiavant
2020-11-16 17:12:062542parcourir

La colonne

tutoriel Python présente les méthodes permettant de réaliser l'automatisation.

Tâches planifiées Python, une méthode pour réaliser l'automatisation

1. Installer cron

Fondamentalement, toutes les distributions Linux ont l'outil cron préinstallé par défaut.

Même si cron n'est pas préinstallé, c'est très simple Vous pouvez l'installer manuellement en exécutant quelques commandes simples

# 检查是否已经预装了cron
service cron status复制代码

Installer et démarrer le service

安装:apt-get install cron
启动/停止/重启:service cron start/stop/restart
查询当前任务:crontab -l复制代码

2. Vérification de l'installation

Une fois l'installation terminée, vérifiez si l'installation a réussi. Utilisez également la commande status pour vérifier

Si l'invite suivante apparaît, l'installation est terminée. est réussi :

Tâches planifiées Python, une méthode pour réaliser lautomatisation

De plus, cette invite peut apparaître sous Ubuntu :

Tâches planifiées Python, une méthode pour réaliser lautomatisation

Cela signifie également qu'elle peut être utilisé normalement

3. Utilisation de cron

Il existe plusieurs utilisations simples de cron que vous pouvez découvrir, et un cas sera utilisé pour présenter comment les utiliser en détail plus tard

Tout d'abord, listez les tâches cron planifiées par l'utilisateur actuel :

crontab -l复制代码

Affichez les tâches cron des autres utilisateurs :

crontab –l –u username复制代码

Supprimez les tâches cron planifiées :

crontab –r复制代码

4. Planifiez le plan crontab

Tout d'abord, passez la commande suivanteAjoutez ou mettez à jour des tâches dans crontab

Tâches planifiées Python, une méthode pour réaliser lautomatisation

Vous serez Il vous est demandé de sélectionner un éditeur lors de votre première entrée. Ceci est basé sur vos propres habitudes.

Après la sélection, vous entrerez dans une interface comme celle-ci :

Tâches planifiées Python, une méthode pour réaliser lautomatisation

Les étudiants qui ont utilisé vim doivent être familiers avec cette interface. Opérations similaires : . Appuyez sur A pour commencer l'édition, appuyez sur ESC pour entrer wq pour enregistrer et quitter

Le point clé est le paragraphe du bas :

m h dom mon dow commmand复制代码

Il s'agit en fait d'une utilisation de la planification crontab jobs Introduction, peut être utilisé pour configurer des tâches planifiées.

La syntaxe spécifique est la suivante :

m h dom mon dow command
* * * * * command
- - - - - -
| | | | | |
| | | | | --- 预执行的命令
| | | | ----- 表示星期0~7(其中星期天可以用0或7表示)
| | | ------- 表示月份1~12
| | --------- 表示日期1~31
| ----------- 表示小时1~23(0表示0点)
------------- 表示分钟1~59 每分钟用*或者 */1表示复制代码

Citer quelques cas d'application simples :

  • Exécuter des tâches à 02h00 tous les jours
0 2 * * * command复制代码
  • Effectuer des tâches à 5h00 et 17h00 tous les jours
0 5,17 * * * command复制代码
  • Effectuer des tâches toutes les 10 minutes
*/10 * * * * command复制代码
  • Exécuter des tâches à 17h00 le dimanche de certains mois
0 17 * jan,may,aug sun command复制代码

Ce sont les plus couramment utilisées. Pour plus de cas d'utilisation, vous pouvez vous référer à ce lien : http://linux. 51yip .com/search/crontab

La commande dans le cas ci-dessus indique la tâche spécifique que vous devez effectuer, comme l'impression d'un paragraphe :

echo "Hello xiaoyi" >> /tmp/test.txt 
复制代码

ou la sortie de ce paragraphe au format txt :

echo "Hello xiaoyi" >> /tmp/test.txt 
复制代码

Ou vous devez exécuter un script Python :

python demo.py filepath复制代码

Le chemin du fichier derrière représente le paramètre d'entrée args, qui peut être utilisé par certains étudiants. Par exemple, dans le cas suivant, vous devez saisir. le chemin de téléchargement du fichier.

5. Combat pratique

Après avoir compris ce qui précède, vous pouvez commencer le point culminant d’aujourd’hui.

Tout d'abord, nous devons télécharger chaque jour les dernières données de tâche à partir du serveur FTP, télécharger les données sur l'ordinateur local et effectuer des statistiques récapitulatives des données via Python, et enfin stocker les résultats dans le base de données Si un certain lien se produit pendant le S'il y a un problème, un e-mail d'alerte sera envoyé.

① Script Python

Tout d'abord, le script Python est requis pour remplir les fonctions suivantes :

  • Obtenir la dernière date des données de la base de données
  • Depuis FTP Téléchargez les dernières données vers l'endroit local
  • Produisez des statistiques récapitulatives des dernières données locales
  • Les résultats statistiques sont stockés dans le résumé de la base de données
  • E -notification par courrier

Ce qui précède Le pseudocode approximatif du processus est le suivant :

if __name__ == '__main__':    """获取最新数据日期"""
    latest_date = get_max_date()    # 以最新日期为名创建文件夹
    download_dir = os.path.join(sys.argv[1], latest_date)    if not os.path.exists(download_dir):
        os.makedirs(download_dir)        
    """从ftp中下载最新数据"""
    download_file(latest_date, download_dir)    """处理最新数据并保存"""
    process_data(latest_date, download_dir)复制代码

La surveillance des e-mails peut ajouter une capture d'exception try catch, et lorsqu'une exception se produit, un e-mail sera envoyé

Éditeur Python J'ai déjà écrit et envoyé le contenu de l'e-mail. Vous pouvez vous référer à ce qui suit : Envoi d'e-mails Python

②Écriture d'une tâche cron
Ouvrez crontab, modifiez le contenu suivant jusqu'à la dernière ligne, enregistrez et quittez

crontab mettra automatiquement à jour la liste des tâches en temps réel. Si vous n'êtes pas sûr, vous pouvez également redémarrer le service cron via la commande de redémarrage. [se référer au début de l'article]

Tâches planifiées Python, une méthode pour réaliser lautomatisation

Voici une petite suggestion, tous Remplissez le chemin absolu pour le chemin

③ Surveillance des effets
S'il n'y a aucun problème avec le code Python, la tâche sera exécutée régulièrement.

Il est recommandé d'exécuter votre propre commande uniquement dans la console, puis de l'écrire dans la liste des tâches périodiques lorsqu'il n'y a aucun problème.

La capture d'écran finale de l'opération de tâche planifiée de Xiaoyi est la suivante :

Le bas est le téléchargement du fichier FTP et le haut est les statistiques récapitulatives des données

Tâches planifiées Python, une méthode pour réaliser lautomatisation

Recommandations d'apprentissage gratuites associées : Tutoriel Python(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer