Mi sysadmin a înființat o grămadă de locuri de muncă cron pe masina mea. Am'd dori să știu exact ce este programată pentru ora. Cum pot obține lista aia?
În funcție de modul în linux sistemul este configurat, puteți căuta în:
/var/spool/cron/*
(utilizator crontabs)/etc/crontab
(la nivel de sistem crontab)de asemenea, multe distributii au:
/etc/cron.d/*
Aceste configurații au aceeași sintaxă ca /etc/crontab
/etc/cron.detalii
, /etc/cron.de zi cu zi
, /etc/cron.weekly
, /etc/cron.lunar
Acestea sunt pur și simplu directoarele care conțin fișiere executabile care sunt executate pe oră, zilnic, săptămânal sau lunar, pe nume de director.
Pe deasupra, puteți avea la locuri de muncă (verificare /var/spool/la/*
), anacron (/etc/anacrontab " și " /var/spool/anacron/*
) și probabil și altele I'm a uita.
Cu cele mai Crons (de exemplu, Paznic-Cron - Debian/Ubuntu default, Cronie - Fedora default, Solaris Cron ...), veți obține lista de programat de locuri de muncă cron pentru utilizatorul curent prin:
$ crontab -l
sau pentru un alt utilizator prin intermediul
# crontab -l -u juser
Pentru a obține crontabs pentru toți utilizatorii, puteți bucla peste toți utilizatorii și numesc această comandă.
Alternativ, poti sa te uiti la bobina de fișiere. De obicei, ele sunt salvate sub /var/spool/cron
, de exemplu, pentru vcron următorul director
/var/spool/cron/crontabs
conține toate configurate crontabs de toți utilizatorii cu excepția utilizatorul root, care este, de asemenea, posibilitatea de a configura locurile de muncă prin intermediul la nivel de sistem crontab, care este situat la
/etc/crontab
Cu cronie (implicit pe Fedora/CentOS), există o .d
stil config director pentru sistemul de locuri de muncă cron, precum:
/etc/cron.d
(Ca întotdeauna,.d
director simplifică întreținerea intrările de configurare care fac parte din pachete diferite.)
Pentru comoditate, cele mai multe distribuții oferi, de asemenea, o directoare de unde legată/stocate scripturile sunt executate periodic, de exemplu:
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
Executarea la timp a acestor scripturi este, de obicei, gestionate prin intermediul run-părți
intrări în sistemul crontab sau prin intermediul anacron.
Cu Systemd (de exemplu, pe Fedora, CentOS 7, ...) periodice locuri de muncă de execuție poate fi de asemenea configurat prin timer unități. A activat sistemul de timere pot fi afișate prin intermediul:
$ systemctl list-timers
Rețineți că utilizatorii lângă rădăcină poate avea utilizator systemd cazuri de funcționare în cazul în care cronometre sunt configurate, precum și. De exemplu, pe Fedora, implicit, un utilizator systemd exemplu este început pentru fiecare utilizator care este conectat în prezent. Ele pot fi recunoscute prin:
$ ps aux | grep 'systemd[ ]--user'
Cei utilizator cronometre pot fi enumerate prin:
$ systemctl --user list-timers
O alternativă la emiterea lista staruri de comandă este de a căuta pentru timer unitate de fișiere (model: *.timer
) și link-uri simbolice pentru a le în obicei de sistem și de utilizator systemd config directoare:
$ find /usr/lib/systemd/ /etc/systemd -name '*.timer'
$ find /home '(' -path '/home/*/.local/share/systemd/user/*' \
-o -path '/home/*/.config/systemd/*' ')' \
-name '*.timer' 2> /dev/null
(Ca și în mod normal unități de servicii, o unitate timer este activat prin crearea unei legături simbolice în dreptul systemd config director.)
Vezi de asemenea și:
Pentru a lista toate crons pentru utilizator dat.
crontab -u username-l;
Pentru a lista toate crons pentru toți utilizatorii
Rulați-l ca un super user
#!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do
crontab -l -u $user;
done