Apabila tapak web web sistem Linux beroperasi, kami selalunya perlu menyelenggara tapak web, seperti menyemak sumber yang tinggal dan bertindak balas, pembahagian log, pengisihan data, melaksanakan tugas tertentu dalam keadaan tertentu, dll., yang semuanya memerlukan Linux supaya boleh Melaksanakan tugas tertentu secara automatik. Catatan blog ini memperkenalkan cara melaksanakan tugas automasi Linux biasa.
"Automasi" Linux
Mencapai "automation" mempunyai faedah berikut:
Jimat tenaga kerja, satu skrip sudah memadai.
Pelaksanaan automatik pada waktu malam boleh mengelakkan tempoh puncak trafik laman web dan tidak menjejaskan kecekapan laman web pada siang hari.
Tepat, tiada kesilapan akan dilakukan jika tetapan sempurna.
Sudah tentu, perkara yang paling penting ialah ketenangan fikiran, kerana anda tidak perlu 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 chkconfig
Gunakan 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 sambungan rangkaian
Tahap 3 bermaksud: mod baris arahan berbilang pengguna dengan sambungan rangkaian
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.
Apa yang sering kami gunakan ialah arahan crontab, iaitu singkatan daripada cron table Ia adalah fail konfigurasi cron, yang juga boleh dipanggil senarai kerja Kami boleh mencari fail konfigurasi yang berkaitan dalam folder berikut.
Direktori /var/spool/cron/ menyimpan tugas crontab untuk setiap pengguna termasuk root Setiap tugas dinamakan sempena pencipta.
/etc/crontab Fail ini bertanggungjawab untuk menjadualkan pelbagai tugas pengurusan dan penyelenggaraan.
/etc/cron.d/ Direktori ini digunakan untuk menyimpan sebarang fail crontab atau skrip yang akan dilaksanakan.
Kami juga boleh meletakkan skrip dalam direktori /etc/con.hourly, /etc/con.daily, /etc/con.weekly, /etc/con.monthly dan biarkan ia dilaksanakan setiap jam/hari/minggu atau bulan .
Penggunaan crontab
Arahan yang biasa kami gunakan adalah seperti berikut:
crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作作)
Kami menggunakan crontab -e untuk memasukkan pengeditan lembaran kerja pengguna semasa, yang merupakan antara muka vim biasa. Setiap baris adalah arahan.
Struktur arahan crontab ialah masa + tindakan Masa termasuk minit, jam, hari, bulan, dan Jumaat
* Semua nombor dalam julat nilai/Berapa nombor yang telah berlalu setiap kali
–Dari X hingga Z
, nombor cincang
Berikut adalah beberapa contoh.
时间 注释 0 0 25 12 * //在12月25日的0时0分 */5 * * * * //每过5分钟 * 4-6 * * * //每天的4 5 6点 * * * * 2,5 //每周二和周五
Dengan skrip shell mudah
Jika arahan kami mempunyai operasi yang sangat kompleks seperti pertimbangan logik, agak sukar untuk mengedit crontab secara langsung Dalam kes ini, kami boleh menggunakan skrip shell. Takrif asal dan klasifikasinya tidak konsisten dengan tajuk, jadi saya tidak akan membincangkan lebih lanjut tentang penggunaannya.Kami menggunakan vim /usr/sh/test.sh untuk mengedit skrip shell menggunakan vim
#!/bin/sh //声明开始shell脚本 a = "hello world" //定义一个shell变量 echo $a //熟悉的echo,输出a变量
Jika anda rasa catatan blog ini membantu anda, anda boleh mengesyorkan atau mengikuti saya Jika anda mempunyai sebarang pertanyaan, anda boleh meninggalkan mesej di bawah untuk perbincangan.
Atas ialah kandungan terperinci Pelajari 'automasi' Linux ini untuk menyelesaikan tugas dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!