Biasanya, pekerjaan Cron dijalankan menggunakan waktu tempatan yang ditentukan dalam sistem. Walau bagaimanapun, anda mungkin lebih suka menjalankan tugas Cron di zon waktu yang berbeza tanpa semestinya mengubah masa dan tarikh pelayan anda.
Anda boleh memeriksa waktu tempatan anda menggunakan perintah timedatectl seperti berikut:
$ timedatectl
Anda juga boleh menggunakan perintah tarikh seperti berikut:
$ tarikh
Jadi, bagaimana anda boleh menetapkan zon waktu yang berbeza untuk Crontabs anda? Mari kita ketahui.
Cara menetapkan zon waktu untuk Crontabs
Dalam sistem Linux tempatan anda, zon waktu biasanya ditentukan dalam / usr / share / zoneinfo direktori. Direktori mengandungi senarai benua & negara dan zon waktunya, seperti yang ditunjukkan di bawah.
$ ls / usr / share / zoneinfo /
Anda boleh menyesuaikan zon waktu semasa dengan yang lain dengan mudah menggunakan sintaks yang ditunjukkan. Sebagai contoh, untuk menetapkan sistem pada waktu di Tokyo, Jepun, jalankan:
$ sudo ln -sf / usr / share / zoneinfo / Asia / Tokyo / etc / waktu tempatanWalau bagaimanapun, anda tidak dapat mengubah waktu sistem anda, terutamanya apabila banyak pengguna menjadualkan pekerjaan Cron yang berbeza. Ini akan mempengaruhi masa pekerjaan Cron mereka dijalankan.
Syukurlah, anda dapat mengkonfigurasi zon waktu tertentu untuk pekerjaan Cron anda seperti berikut:
Pertama, anda perlu mengeksport pemboleh ubah TZ dalam skrip Shell anda sebelum entri Shell yang lain. Seterusnya, akses crontab anda dan gunakan CRON pemboleh ubah persekitaran crontab_TZ pada permulaan fail crontab.
Katakan saya ingin menetapkan tugas Cron untuk menjalankan skrip sandaran pada pukul 2:20 setiap hari di Eropah / London masa dan bukan waktu tempatan saya. Waktu tempatan saya adalah 2 jam lebih awal dari waktu London, jadi pada pukul 2:20 petang di London, waktu tempatan saya adalah 4:20 pm atau 1420 HRS.
Pertama, pergi ke fail skrip Shell dan eksport pemboleh ubah TZ sebelum entri skrip lain. Lihat apa yang saya buat dalam skrip Shell saya.
EKSPOR TZ = Eropah / London
Simpan perubahan dan keluar skrip.
Seterusnya, akses fail crontab anda dengan menjalankan perintah:
$ crontab -ePastikan untuk menentukan pembolehubah crontab CRON_TZ sebelum semua entri Cron yang lain seperti berikut.
CRON_TZ = Eropah / London20 14 * * * / rumah / james / sandaran.sh
Simpan dan keluar dari crontab. Untuk memastikan tetapannya, anda boleh menyenaraikan crontab menggunakan arahan:
$ crontab -lOleh itu, apabila jam berdetik 2:20 pm waktu London, yang sesuai dengan 4:40 pm waktu tempatan atau 1620 HRS, sandaran berjaya.
Kesimpulannya
Panduan ini adalah demonstrasi sempurna bahawa anda benar-benar dapat menetapkan zon waktu yang ditentukan untuk Crontabs anda tanpa mengubah waktu sistem anda. Dengan cara ini, anda dapat mengkonfigurasi tugas yang berbeza untuk dijalankan di zon waktu yang berlainan agar sesuai dengan keperluan anda, misalnya, jika anda ingin mengirim e-mel kepada pelanggan zon waktu tertentu pada waktu mereka dan bukan waktu tempatan anda.