Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk mengkonfigurasi tugas berjadual sistem pada Linux
Cara mengkonfigurasi tugas berjadual sistem pada Linux
Dalam sistem Linux, tugas berjadual adalah fungsi yang sangat biasa dan praktikal yang boleh digunakan untuk melaksanakan operasi tertentu dengan kerap, seperti menyandarkan data, membersihkan fail sementara, mengemas kini perisian secara kerap, dsb. . Dalam artikel ini, kami akan memperkenalkan cara mengkonfigurasi tugas berjadual sistem dalam sistem Linux dan melampirkan contoh kod yang sepadan.
Terdapat banyak cara untuk melaksanakan tugas berjadual dalam sistem Linux, yang paling biasa digunakan ialah tugas cron dan pemasa sistem. Kaedah konfigurasi dan contoh kod kedua-dua kaedah ini diperkenalkan di bawah.
1. Gunakan tugas cron untuk mengkonfigurasi tugas berjadual
crontab -e
Jika anda perlu mengedit cron seluruh sistem jadual tugasan, anda boleh Gunakan arahan berikut:
sudo crontab -e
分钟 小时 日 月 周 要执行的命令
di mana minit, jam, hari, bulan dan minggu mewakili masa pelaksanaan tugas, dan kad bebas * boleh digunakan untuk mewakili sebarang nilai. Perintah yang akan dilaksanakan adalah operasi yang perlu dilakukan secara berkala.
Sebagai contoh, berikut ialah contoh tugas berjadual yang melaksanakan skrip pada 1 pagi setiap hari:
0 1 * * * /path/to/script.sh
Petua: Jika anda perlu memadam tugas cron, gunakan arahan berikut:
crontab -r
2. Gunakan pemasa systemd untuk mengkonfigurasi tugas yang dijadualkan
/ dalam /etc systemd/system/ Cipta fail dengan akhiran <code>.service
dalam direktori , seperti mytask.service
. /etc/systemd/system/
目录中创建一个以.service
为后缀的文件,比如mytask.service
。
sudo nano /etc/systemd/system/mytask.service
在创建的service文件中,加入以下内容:
[Unit] Description=My Task [Service] ExecStart=/path/to/script.sh [Install] WantedBy=multi-user.target
其中,ExecStart
表示要执行的脚本文件,WantedBy=multi-user.target
表示这个任务应该在系统启动时执行。
在/etc/systemd/system/
目录中创建一个以.timer
为后缀的文件,比如mytask.timer
。
sudo nano /etc/systemd/system/mytask.timer
在创建的timer文件中,加入以下内容:
[Unit] Description=Run My Task every day [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
其中,OnCalendar=daily
表示这个任务每天执行一次,Persistent=true
sudo systemctl daemon-reload
sudo systemctl start mytask.timerAntaranya,
ExecStart
mewakili fail skrip yang akan dilaksanakan, dan WantedBy=multi-user .target
menunjukkan bahawa tugasan ini harus dilaksanakan apabila sistem dimulakan. .timer
dalam direktori /etc/systemd/system/
, seperti mytask. pemasa
. sudo systemctl enable mytask.timer
Dalam fail pemasa yang dibuat, tambahkan kandungan berikut:
rrreeeAntaranya, OnCalendar=daily
bermaksud bahawa tugas ini dilaksanakan sekali sehari , Persistent=true
bermakna walaupun sistem dimatikan sebelum masa pelaksanaan tugas, tugasan akan dilaksanakan pada kali seterusnya ia dimulakan. . mulakan semasa but
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi tugas berjadual sistem pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!