CRON_TZ hướng dẫn bảng cron của bạn chạy trong múi giờ được chỉ định, bạn cũng có thể sử dụng TZ, đặt múi giờ cho lệnh của bạn nếu bạn muốn nó sử dụng múi giờ khác với hệ thống.
# lệnh tối thiểu giờ dom tháng dow
CRON_TZ=Châu Âu/Helsinki
0 9 * * * TZ=Europe/Helsinki /bin/sh -c 'date +"$USER: \%a \%e \%b \%Y \%H:\%M:\%S \%Z" ' >> /tmp/timestamp.log
Cron này sẽ chạy khi đồng hồ điểm 09:00 ở Phần Lan, tức là 08:00 ở đây.
[bac0n@betazoid ~ 07:59]: đuôi -f /tmp/timestamp.log
bac0n: Thứ bảy, ngày 4 tháng 12 năm 2021 09:00:01 EET
Nếu bạn muốn chạy các tập lệnh cụ thể ở các múi giờ khác nhau, bạn có thể sử dụng systemd.timer
thay thế. Có vô số cách để sắp xếp bộ hẹn giờ/dịch vụ của bạn, ví dụ: bạn có thể sử dụng bộ hẹn giờ khởi tạo để thêm các múi giờ khác nhau.
# tập tin: [email protected]
[Đơn vị]
Mô tả=Hẹn giờ cho múi giờ %I
[Hẹn giờ]
Độ chính xácSec=1s
OnCalendar=*-*-* 09:00:00 %I
[Cài đặt]
WantedBy=timers.target
Mẫu dịch vụ thứ hai là một dịch vụ chung cho tất cả các múi giờ được bật, cũng có thể tạo một dịch vụ cụ thể cho một múi giờ với các bộ thuộc tính khác nhau.
# tập tin: [email protected]
[Đơn vị]
Mô tả=Dịch vụ cho múi giờ %I
[Dịch vụ]
Môi trường=TZ=%I
ExecStart=/bin/date +"%I: %%a %%e %%b %%Y %%H:%%M:%%S %%Z"
StandardOutput=append:/tmp/timestamp.log
Bây giờ bạn có thể bắt đầu thêm múi giờ của mình.
systemctl enable --now 'timezone@Europe\x2fLondon.timer' 'timezone@Europe\x2fStockholm.timer' 'timezone@Europe\x2fHelsinki.timer'