Trong Linux/Unix, crontab có thể được chạy với các quyền khác nhau tùy theo người dùng hoặc hệ thống:
Mỗi user đều có crontab riêng.
File lưu tại:
/var/spool/cron/crontabs/<username> (Debian/Ubuntu) /var/spool/cron/<username> (CentOS/RHEL)
Quản lý bằng lệnh:
crontab -e # sửa crontab của user hiện tại crontab -l # xem crontab của user hiện tại crontab -r # xóa crontab của user hiện tại
File: /etc/crontab
Khác biệt: trong file này có thêm trường user để chỉ định chạy job dưới quyền user nào.
Ví dụ:
# ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of month (1 - 31) # │ │ │ ┌───────────── month (1 - 12) # │ │ │ │ ┌───────────── day of week (0 - 7) # │ │ │ │ │ ┌─ user # │ │ │ │ │ │ ┌─ command * * * * * root /usr/bin/php /var/www/cron.php
Quyền: job sẽ chạy dưới user được chỉ định.
Nhiều distro có thư mục:
/etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/
Bất kỳ script nào đặt ở đó sẽ được cron
tự động chạy, thường dưới quyền root
.
crontab -u username -e
/etc/cron.allow
: chỉ user trong file này mới được dùng crontab
./etc/cron.deny
: user trong file này sẽ bị chặn dùng crontab
./etc/crontab
hoặc crontab -e
khi đang là root.crontab -e
của user đó.