Tutorial Permulaan Linux Systemd Crontab: Dari Asas kepada Lanjutan
Pengenalan:
Dalam sistem Linux, kita selalunya perlu melaksanakan tugas tertentu dengan kerap, seperti menyandarkan data, membersihkan fail sementara, dsb. Untuk mengautomasikan pelaksanaan tugasan ini, kami boleh menggunakan Crontab untuk mencipta dan mengurus tugasan yang dijadualkan. Dalam pengedaran Linux terkini, Systemd telah menjadi alat permulaan dan pengurusan sistem arus perdana. Artikel ini akan memperkenalkan cara menggunakan Crontab Systemd untuk menulis dan mengurus tugas yang dijadualkan, serta beberapa teknik lanjutan.
1. Pengetahuan asas tentang Crontab
- Konsep Crontab: Crontab ialah alat yang digunakan untuk melaksanakan arahan atau skrip pada selang masa tertentu. Ia boleh dicapai dengan menulis tugasan dalam fail Crontab dalam sistem.
- Struktur organisasi fail Crontab: Fail Crontab terletak dalam direktori /var/spool/cron, dan setiap pengguna mempunyai fail Crontab sendiri. Fail Crontab pentadbir sistem diletakkan dalam /etc/crontab. Fail Crontab terdiri daripada beberapa baris, setiap baris adalah tugas Cron.
- Format masa Crontab: Format masa tugas Crontab terdiri daripada 5 medan, yang masing-masing mewakili minit, jam, tarikh, bulan dan minggu. Medan ini dipisahkan oleh ruang.
- Format arahan Crontab: Dalam fail Crontab, setiap baris mewakili tugas. Setiap tugasan terdiri daripada definisi masa dan arahan untuk dilaksanakan.
2. Cara menggunakan Systemd Crontab
- Menulis fail Crontab: Gunakan vim atau editor lain untuk membuka fail Crontab, contohnya:
sudo vim /etc/crontab
Salin selepas log masuk
- Menulis tugasan Crontab: Tambahkan tugasan yang dijadualkan dalam fail. Sebagai contoh, kami membuat tugasan sandaran yang dilaksanakan pada pukul 8 setiap pagi Perintahnya adalah seperti berikut:
0 8 * * * root /path/to/backup.sh
Salin selepas log masuk
Dalam arahan di atas, "0 8 *" yang pertama bermaksud tugas itu akan dilaksanakan. pada pukul 8 setiap hari, dan " /path/to/backup.sh" berikut ialah laluan ke skrip sandaran.
- Simpan dan keluar dari fail Crontab: Selepas menyimpan fail Crontab, gunakan "Ctrl+X" untuk keluar dari editor.
- Mulakan semula perkhidmatan Systemd Crontab: Untuk membolehkan tugas Crontab baharu berkuat kuasa, kami perlu memulakan semula perkhidmatan Systemd Crontab. Gunakan arahan berikut untuk memulakan semula:
sudo systemctl restart cron.service
Salin selepas log masuk
- Lihat tugas Crontab: Untuk melihat tugas Crontab yang dibuat, anda boleh menggunakan arahan berikut:
sudo crontab -l
Salin selepas log masuk
3. Teknik lanjutan untuk menggunakan Systemd Crontab
- Gunakan: Pembolehubah Crontab Dalam tugas Crontab, kita boleh menetapkan pembolehubah persekitaran menggunakan. Sebagai contoh, gunakan arahan berikut dalam tugasan untuk menetapkan pembolehubah PATH:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Salin selepas log masuk
- Pengalihan semula tugas: Dalam tugas Crontab, kami boleh mengubah hala output standard dan output ralat untuk memudahkan pengelogan dan penyahpepijatan berikutnya. Contohnya, simpan maklumat output tugasan ke fail:
0 * * * * /path/to/script.sh > /path/to/logfile.log 2>&1
Salin selepas log masuk
Dalam arahan di atas, ">" bermaksud mengubah hala output standard ke fail yang ditentukan, "2>&1" bermaksud mengubah hala output ralat standard ke fail yang sama seperti output standard lokasi yang sama.
- Tentukan persekitaran untuk pelaksanaan tugas: Sesetengah tugasan Crontab mungkin perlu dilaksanakan dalam persekitaran berjalan tertentu. Kita boleh menggunakan arahan Persekitaran Systemd untuk menetapkan persekitaran untuk pelaksanaan tugas. Contohnya, gunakan kod berikut dalam tugasan Crontab untuk menetapkan pembolehubah persekitaran:
Environment="ENV_VAR=value"
Salin selepas log masuk
- Kawal bilangan pelaksanaan tugas: Kadangkala, kami mahukan tugasan dilaksanakan beberapa kali dalam tempoh masa yang ditetapkan. Systemd Crontab menyediakan pilihan OnCalendar untuk mengawal bilangan pelaksanaan tugas. Sebagai contoh, arahan berikut akan dilaksanakan setiap 30 minit antara 2 petang dan 5 petang pada hari pertama dan ke-15 setiap bulan:
OnCalendar=*-01,15:14-17/30
Salin selepas log masuk
Ringkasan:
Melalui pengenalan artikel ini, kita dapat memahami Cara menggunakan Crontab Systemd untuk menulis dan mengurus tugas yang dijadualkan. Kami bukan sahaja mempelajari penggunaan asas Crontab, tetapi juga mempelajari beberapa teknik lanjutan, seperti menetapkan pembolehubah persekitaran, aplikasi pengalihan, dsb. Kuasai kemahiran ini untuk mengurus tugas berjadual dengan lebih fleksibel dan cekap. Saya harap artikel ini akan membantu semua orang dan boleh memainkan peranan penuh Systemd Crontab dalam kerja amali.
Atas ialah kandungan terperinci Tutorial Bermula Linux Systemd Crontab: Daripada Asas kepada Lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!