Peta dunia

 

EN: Read in English

Dunia L4: Dapur Jauh

Kerja berjadual: cron dan timer

Anda akan belajar: menjalankan kerja ikut jadual dengan cron, dan dengan timer systemd.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Linux (Debian 13) pada 1 Nov 2026

Masalahnya

kedai (makmal)
crontab -l
0 2 * * * /home/you/backup.sh
crontab -l tunjuk satu baris: 0 2 * * * /home/you/backup.sh

Seseorang mesti buat sandaran menu pukul 2 pagi, setiap malam. Tiada siapa mahu syif itu. Satu baris ini melakukannya. Bagaimana?

Cuba

cron: Jadual tugas di dinding kedai. Ia semak setiap minit dan jalankan kerja tepat pada masanya. ialah jadual tugas di dinding. Ia semak setiap minit. Satu baris jadual ada lima medan masa, kemudian kerjanya. Susun medan itu.

Medan pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • bulan (1-12)
  • arahan, dengan path penuh
  • hari dalam bulan (1-31)
  • hari dalam minggu (0-7, Ahad ialah 0 atau 7)
  • minit (0-59)
  • jam (0-23)

Cuba

jobs.txt ada satu baris jadual untuk setiap minit. Pasang dengan crontab jobs.txt. Kemudian sleep 15 sampai seminit berlalu, dan baca cron.log.

Anda you di /home/you. 2 benda di sini. Servis: cron berjalan, ssh berjalan, nginx berjalan.

Anda di siniyou@kedai:~$

Folder ~

  • hello.sh (fail)-rwxr-xr-xboleh dijalankan
  • jobs.txt (fail)-rw-r--r--

+ 3 tersembunyi (ls -a)

Servis

  • cronberjalanmula semasa boot
  • sshberjalanmula semasa boot
  • nginxberjalanmula semasa boot

Teka

Apa maksud */15 * * * *?

Pilih satu jawapan.

Tengok

kedai (makmal)
cat /etc/systemd/system/kedai-backup.timer
[Unit]
Description=Back up the Kedai menu every night
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now kedai-backup.timer
Created symlink '/etc/systemd/system/timers.target.wants/kedai-backup.timer' → '/etc/systemd/system/kedai-backup.timer'.
systemctl list-timers kedai-backup.timer
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2026-11-02 02:00:00 UTC 13h - - kedai-backup.timer kedai-backup.service
Fail timer dengan OnCalendar 02:00 dan Persistent=true. enable --now cipta symlink. list-timers tunjuk larian seterusnya, Mon 2026-11-02 02:00 UTC, yang mulakan kedai-backup.service.

systemd ada jam locengnya sendiri: systemd timer (pemasa systemd) (systemd timer): Jam loceng systemd sendiri. Ia mulakan servis ikut jadual dan catat dalam journal.. Ia mulakan servis tepat pada masanya. Persistent=true kejar larian yang terlepas semasa mesin dimatikan.

Semak

cron atau timer systemd?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Anda berjaya!

      Kini anda boleh jadualkan kerja dengan cron atau timer systemd.

      Nak tahu lebih (pilihan)

      cron berjalan dengan PATH yang kecil dan tanpa terminal. Guna path penuh, dan simpan output: >> /home/you/backup.log 2>&1. crontab -r padam seluruh jadual anda tanpa bertanya. systemd-analyze calendar '*-*-* 02:00:00' beritahu bila timer berbunyi seterusnya. Output timer di sini datang dari makmal Debian 13 sebenar.

      Misi sebenar

      1. echo '* * * * * date >> /tmp/tick.log' | crontab -
      2. cat /tmp/tick.log
      3. crontab -r
      4. systemctl list-timers

      0 daripada 4 langkah siap · Tanda anda disimpan.