Rumah  >  Artikel  >  Tutorial sistem  >  Kemahiran "automasi" Linux ini mengajar anda untuk menyelesaikan tugas dengan mudah

Kemahiran "automasi" Linux ini mengajar anda untuk menyelesaikan tugas dengan mudah

PHPz
PHPzke hadapan
2024-02-14 18:12:13506semak imbas

Keaslian palsu yang mendalam bagi tugas automasi Linux

Apabila tapak web Web dihoskan pada sistem Linux pengendalian, selalunya perlu untuk menyelenggara tapak web, seperti menyemak penggunaan sumber dan bertindak balas dengan sewajarnya, pembahagian log, pengisihan data dan melaksanakan tugas tertentu dalam keadaan tertentu, dsb. Untuk merealisasikan pelaksanaan automatik operasi ini, sistem Linux menyediakan cara yang mudah. Artikel ini akan memperkenalkan kaedah pelaksanaan tugas automasi Linux biasa.

这些 Linux 的“自动化”技巧,教你轻松完成任务

Faedah mengautomasikan tugas adalah seperti berikut:

  1. Jimat tenaga kerja: Hanya tulis skrip untuk mengautomasikan tugas.
  2. Fleksibiliti masa: Dengan melaksanakan secara automatik pada waktu malam, anda boleh mengelakkan tempoh puncak trafik tapak web tanpa menjejaskan kecekapan tapak web pada siang hari.
  3. Ketepatan: Apabila disediakan dengan betul, tugasan automatik akan bebas ralat.
  4. Paling penting, mengautomasikan tugas menjimatkan orang ramai daripada kerumitan menaip arahan tertentu dengan kerap.

Mulakan

Bermula pada but sepatutnya menjadi keperluan yang sangat biasa bagi kita. Kita selalunya perlu melaksanakan perintah tertentu secara automatik untuk memulakan perkhidmatan, proses, dll. Dengannya, kita tidak perlu lagi memasukkan sekumpulan perintah yang sama setiap kali kita boot up.

arahan chkconfigGunakan arahan chkconfig untuk memulakan perkhidmatan atau program tertentu pada tahap permulaan yang berbeza.

Mari kita bercakap tentang tahap berjalan Linux dahulu:

  • Tahap 0 bermaksud: tutup
  • Tahap 1 bermaksud: mod pengguna tunggal
  • Tahap 2 bermaksud: mod baris arahan berbilang pengguna tanpa fungsi NFS
  • Tahap 3 bermaksud: Terdapat mod baris arahan berbilang pengguna dengan fungsi NFS
  • Tahap 4 bermaksud: Tidak tersedia
  • Tahap 5 bermaksud: Mod berbilang pengguna dengan antara muka grafik
  • Tahap 6 bermaksud: Mulakan semula
  • Arahan

chkconfig adalah seperti berikut:

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服务删除

rc.d penyuntingan fail

Anda juga boleh mengedit terus fail dalam direktori /etc/rc.d/ untuk mencapai permulaan automatik. Terdapat banyak fail dalam direktori ini rcn.d ialah folder permulaan apabila status permulaan ialah n rc, rc.sysinit dan init.d adalah semua modul sistem atau fail permulaan sendiri yang ditetapkan oleh sistem.

Kami menggunakan vim rc.local untuk mengedit fail rc.local untuk menyesuaikan pelan permulaan kami sendiri. Arahannya sangat mudah, sama seperti operasi biasa. Sebagai contoh, /usr/local/apache/bin/apachectl start bermakna memulakan pelayan apache secara automatik selepas but.

melaksanakan tugas berjadual

at ialah program tugasan berjadual ringkas dengan fungsi mudah Ia hanya boleh melaksanakan tugas berjadual sekali sahaja Penggunaannya adalah seperti berikut:

#at time      //at加时间启动at命令
at>operation    //输入要执行的操作
at>Ctrl+D      //按Ctrl+D退出命令编辑

Bentuk masa yang biasa adalah seperti berikut

at H:m tomorrow     //第二天的H点m分
at now + n minutes/hours/days/weeks  //在n分/时/天/周后
at midnight         //在午夜=-=
at H:m pm/am        //在当天上午/下午的H点m分

Kami juga boleh melihat arahan semasa at dalam fail /var/spool/at. Perlu diingatkan juga bahawa proses atd ditutup secara lalai dalam Linux dan perlu dibuka secara manual.

crontab melaksanakan tugas berjadual

Proses cron terbina dalam Linux boleh membantu kami mencapai keperluan ini Dengan skrip cron dan shell, arahan yang sangat kompleks tiada masalah.

pengenalan cron

Daemon cron ialah subsistem kecil yang terdiri daripada fail utiliti dan konfigurasi Beberapa gaya cron boleh ditemui pada hampir semua sistem seperti UNIX. Kita boleh menggunakan ps aux|grep cron untuk mencari daemon crond.

我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab 这个文件负责调度各种管理和维护任务。/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/con.hourly、/etc/con.daily、/etc/con.weekly、/etc/con.monthly目录中,让它每小时/天/星期、月执行一次。

crontab的使用

我们常用的命令如下:

crontab [-u username]    //省略用户表表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作作)

我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。

crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有

  • * 取值范围内的所有数字
  • / 每过多少个数字
  • - 从X到Z
  • 散列数字

以下是几个例子。

时间                  注释
0 0 25 12 *     //在12月25日的0时0分
*/5 * * * *     //每过5分钟
* 4-6 * * *     //每天的4 5 6点
* * * * 2,5     //每周二和周五

配合简单的shell脚本

如果我们的命令有逻辑判断等非常复杂的操作时,再直接编辑crontab就有点困难了,这时,我们可以使用shell脚本。其来历,分类定义与题不符,不再多说,我们直接说它的用法。

我们用vim /usr/sh/test.sh来使用vim编辑一个shell脚本

#!/bin/sh           //声明开始shell脚本
a = "hello world"   //定义一个shell变量
echo $a             //熟悉的echo,输出a变量

然后crontab -e编辑crontab,添加 */5 * * * * /usr/sh/test.sh每隔五分钟运行一次test.sh脚本,也可以用 /phppath/php /filepath/test.php 来用php进程来执行php程序。

如果您觉得本博文对您有帮助,您可以推荐或关注我,如果您有什么问题,可以在下方留言讨论,谢谢。

Atas ialah kandungan terperinci Kemahiran "automasi" Linux ini mengajar anda untuk menyelesaikan tugas dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam