Lorsque le site Web du système Linux est opérationnel, nous avons souvent besoin de maintenir le site Web, comme vérifier les ressources restantes et répondre, segmenter les journaux, trier les données, effectuer des tâches spécifiques dans des états spécifiques, etc., qui nécessitent toutes Linux pour pouvoir effectuer automatiquement certaines tâches. Cet article de blog explique comment effectuer des tâches d'automatisation Linux courantes.
"Automation" de Linux
Réaliser « l'automatisation » présente les avantages suivants :
Économisez de la main d'œuvre, un seul script suffit.
L'exécution automatique la nuit peut éviter la période de pointe de trafic du site Web et n'affecte pas l'efficacité du site Web pendant la journée.
Précis, aucune erreur ne sera commise si les réglages sont parfaits.
Bien sûr, le plus important est la tranquillité d’esprit, car vous n’avez pas besoin de taper fréquemment certaines commandes.
Démarrer
Le démarrage devrait être un besoin très courant pour nous. Nous avons souvent besoin d'exécuter automatiquement certaines commandes pour démarrer des services, des processus, etc. lorsque nous allumons l'ordinateur, nous n'avons plus besoin de saisir le même groupe de commandes à chaque fois. le moment où nous allumons l’ordinateur.
commande chkconfig
Utilisez la commande chkconfig pour démarrer des services ou des programmes spécifiques à différents niveaux de démarrage.
Parlons d'abord du niveau d'exécution de Linux :
Le niveau 0 signifie : arrêter
Le niveau 1 signifie : mode mono-utilisateur
Le niveau 2 signifie : mode ligne de commande multi-utilisateurs sans connexion réseau
Le niveau 3 signifie : mode ligne de commande multi-utilisateurs avec connexion réseau
Niveau 4 signifie : Non disponible
Niveau 5 signifie : mode multi-utilisateurs avec interface graphique
Le niveau 6 signifie : Redémarrer
La commande de chkconfig est la suivante :
chkconfig --list //命令查看已设置的开启自启动列表。 xxxd 0:off 1:off 2:on ... 6:off //list的结果,表示在xxxd服务在启动级别为2 3 4 5 的情况下会自动启动。 chkconfig --add xxxd//向任务列表中添加一个xxxd服务 chkconfig [--level 1/2/../6] xxxd on/off//设置xxxd用服务在n状态为开/关,[]内省略则在2345级别开启 chkconfig --del xxxd //将任务列表中的xxxd服务删除
édition du fichier rc.d
Vous pouvez également modifier directement les fichiers dans le répertoire /etc/rc.d/ pour réaliser un démarrage automatique. Il existe de nombreux fichiers dans ce répertoire. rcn.d est le dossier de démarrage lorsque l'état de démarrage est n. rc, rc.sysinit et init.d sont tous des modules système ou des fichiers [dossiers] à démarrage automatique définis par le système.
Nous utilisons vim rc.local pour modifier le fichier rc.local afin de personnaliser notre propre plan de démarrage. Les commandes sont très simples, tout comme les opérations normales. Par exemple, /usr/local/apache/bin/apachectl start signifie démarrer automatiquement le serveur Apache après le démarrage.
à mettre en œuvre les tâches planifiées
at est un programme de tâches planifiées simple avec des fonctions simples. Il ne peut effectuer que des tâches planifiées ponctuelles. Son utilisation est la suivante :
#at time //at加时间启动at命令 at>operation //输入要执行的操作 at>Ctrl+D //按Ctrl+D退出命令编辑
La forme courante du temps est la suivante
at H:m tomorrow //第二天的H点m分 at now + n minutes/hours/days/weeks //在n分/时/天/周后 at midnight //在午夜=-= at H:m pm/am //在当天上午/下午的H点m分
Nous pouvons également afficher la commande actuelle de at dans le fichier /var/spool/at. Il convient également de noter que le processus atd est fermé par défaut sous Linux et doit être ouvert manuellement.
crontab implémente les tâches planifiées
Le processus cron intégré de Linux peut nous aider à répondre à ces besoins. Avec les scripts cron et shell, les instructions très complexes ne posent aucun problème.
introduction cron
Le démon cron est un petit sous-système composé d'utilitaires et de fichiers de configuration. Certains styles de cron peuvent être trouvés sur presque tous les systèmes de type UNIX. Nous pouvons utiliser ps aux|grep cron pour trouver le démon crond.
Ce que nous utilisons souvent est la commande crontab, qui est l'abréviation de cron table. C'est le fichier de configuration de cron, qui peut également être appelé liste de tâches. Nous pouvons trouver les fichiers de configuration pertinents dans les dossiers suivants.
Le répertoire /var/spool/cron/ stocke les tâches crontab pour chaque utilisateur, y compris root. Chaque tâche porte le nom du créateur.
/etc/crontab Ce fichier est chargé de planifier diverses tâches de gestion et de maintenance.
/etc/cron.d/ Ce répertoire est utilisé pour stocker tous les fichiers crontab ou scripts à exécuter.
Nous pouvons également mettre le script dans les répertoires /etc/con.hourly, /etc/con.daily, /etc/con.weekly, /etc/con.monthly et le laisser s'exécuter toutes les heures/jours/semaines ou mois.
Utilisation de crontab
Nos commandes couramment utilisées sont les suivantes :
crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作作)
Nous utilisons crontab -e pour accéder à l'édition de la feuille de calcul de l'utilisateur actuel, qui est une interface vim courante. Chaque ligne est une commande.
La structure de commande de crontab est temps + action. Le temps comprend les minutes, les heures, les jours, les mois et les vendredis. Les opérateurs incluent
.* Tous les nombres dans la plage de valeurs
/Combien de numéros sont passés à chaque fois
–De X à Z
, numéro de hachage
Voici quelques exemples.
时间 注释 0 0 25 12 * //在12月25日的0时0分 */5 * * * * //每过5分钟 * 4-6 * * * //每天的4 5 6点 * * * * 2,5 //每周二和周五
Avec un simple script shell
Si notre commande comporte des opérations très complexes comme un jugement logique, il sera un peu difficile d'éditer directement la crontab. Dans ce cas, nous pouvons utiliser un script shell. Son origine et sa définition de classification ne correspondent pas au titre, je n’entrerai donc pas dans plus de détails. Parlons simplement de son utilisation.
Nous utilisons vim /usr/sh/test.sh pour éditer un script shell à l'aide de vim
#!/bin/sh //声明开始shell脚本 a = "hello world" //定义一个shell变量 echo $a //熟悉的echo,输出a变量
Ensuite, modifiez crontab avec crontab -e et ajoutez */5 * * * * /usr/sh/test.sh pour exécuter le script test.sh toutes les cinq minutes. Vous pouvez également utiliser /phppath/php /filepath/test.php. Processus php pour exécuter des programmes php.
Si vous pensez que cet article de blog vous est utile, vous pouvez me recommander ou me suivre. Si vous avez des questions, vous pouvez laisser un message ci-dessous pour en discuter. Merci.
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!