Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Systemd dan Crontab untuk melaksanakan skrip dengan kerap dalam sistem Linux

Cara menggunakan Systemd dan Crontab untuk melaksanakan skrip dengan kerap dalam sistem Linux

WBOY
WBOYasal
2023-09-26 14:33:39920semak imbas

Cara menggunakan Systemd dan Crontab untuk melaksanakan skrip dengan kerap dalam sistem Linux

Tajuk: Gunakan Systemd dan Crontab untuk melaksanakan skrip secara kerap dalam sistem Linux

Teks:
Dalam sistem Linux, kita selalunya perlu melaksanakan beberapa tugas skrip secara kerap, seperti menyandarkan data, membersihkan log, dsb. Artikel ini akan memperkenalkan cara menggunakan Systemd dan Crontab untuk melaksanakan fungsi melaksanakan skrip secara kerap dan menyediakan contoh kod khusus.

1. Gunakan Systemd untuk melaksanakan skrip dengan kerap

Systemd ialah sistem permulaan dan pengurus perkhidmatan di bawah sistem Linux Dengan mencipta tugas berjadual Systemd, kami boleh melaksanakan skrip dengan mudah.

  1. Buat fail .service untuk mentakrifkan parameter berkaitan tugasan yang dijadualkan. Mengambil pembersihan log biasa sebagai contoh, anda boleh mencipta fail bernama cleanuplog.service. cleanuplog.service的文件。
[Unit]
Description=Cleanup Log Service

[Service]
Type=simple
ExecStart=/path/to/cleanuplog.sh

[Install]
WantedBy=default.target

其中,ExecStart指定了要执行的脚本路径,需要根据实际情况修改。保存并关闭文件。

  1. 创建一个.timer文件,用于定义定时任务的触发条件和执行逻辑。以每天凌晨1点执行为例,创建一个名为cleanuplog.timer的文件。
[Unit]
Description=Cleanup Log Timer

[Timer]
OnCalendar=*-*-* 01:00:00

[Install]
WantedBy=timers.target

其中,OnCalendar指定了定时任务的触发时间,这里是每天凌晨1点。保存并关闭文件。

  1. 将两个文件移动到/etc/systemd/system目录下。
$ sudo mv cleanuplog.service /etc/systemd/system
$ sudo mv cleanuplog.timer /etc/systemd/system
  1. 启用并启动定时任务。
$ sudo systemctl daemon-reload
$ sudo systemctl enable cleanuplog.timer
$ sudo systemctl start cleanuplog.timer

现在,定时执行脚本的任务就已经创建并启动成功了。

二、使用Crontab定时执行脚本

Crontab是一种用于周期性执行命令或脚本的工具,通过编辑Crontab文件,我们可以轻松定制定时执行脚本的需求。

  1. 编辑当前用户的Crontab文件。
$ crontab -e
  1. 在打开的文件中添加定时执行脚本的命令。以每天凌晨2点执行为例,可以添加如下内容。
0 2 * * * /path/to/cleanuplog.sh

其中,0 2 * * *表示每天凌晨2点,/path/to/cleanuplog.sh

rrreee
    Antaranya, ExecStart menentukan laluan skrip untuk dilaksanakan, yang perlu diubah suai mengikut situasi sebenar. Simpan dan tutup fail.
    1. Buat fail .timer untuk mentakrifkan keadaan pencetus dan logik pelaksanaan tugas yang dijadualkan. Mengambil pelaksanaan pada 1 pagi setiap hari sebagai contoh, buat fail bernama cleanuplog.timer.

    rrreee

    Antaranya, OnCalendar menentukan masa pencetus tugas yang dijadualkan, iaitu 1 pagi setiap hari. Simpan dan tutup fail.


    Alihkan kedua-dua fail ke direktori /etc/systemd/system. 🎜🎜rrreee
      🎜Dayakan dan mulakan tugasan yang dijadualkan. 🎜🎜rrreee🎜Kini, tugas melaksanakan skrip secara berkala telah dibuat dan dimulakan dengan jayanya. 🎜🎜2. Gunakan Crontab untuk melaksanakan skrip dengan kerap 🎜🎜Crontab ialah alat untuk melaksanakan perintah atau skrip secara berkala Dengan mengedit fail Crontab, kami boleh menyesuaikan keperluan untuk pelaksanaan skrip yang dijadualkan. 🎜🎜🎜Edit fail Crontab pengguna semasa. 🎜🎜rrreee
        🎜Tambahkan arahan untuk melaksanakan skrip dengan kerap dalam fail yang terbuka. Mengambil pelaksanaan pada pukul 2 pagi setiap hari sebagai contoh, anda boleh menambah kandungan berikut. 🎜🎜rrreee🎜Antaranya, 0 2 * * * bermaksud 2 pagi setiap hari, dan /path/to/cleanuplog.sh bermaksud laluan skrip yang akan dilaksanakan, yang perlu berdasarkan situasi sebenar Semak semula. 🎜🎜🎜Simpan dan tutup fail. 🎜🎜🎜Kini, tugas untuk melaksanakan skrip secara berkala telah berjaya ditambahkan. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan Systemd dan Crontab untuk melaksanakan skrip dengan kerap dalam sistem Linux dan menyediakan contoh kod khusus. Mengikut keperluan sebenar, memilih kaedah yang sesuai untuk melaksanakan tugas berjadual boleh meningkatkan kecekapan kerja dan keupayaan pengurusan automatik. Saya harap artikel ini dapat membantu pembaca mempelajari dan mengaplikasikan kaedah pelaksanaan skrip pemasaan. 🎜

    Atas ialah kandungan terperinci Cara menggunakan Systemd dan Crontab untuk melaksanakan skrip dengan kerap dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn