Ho uno script eseguito automaticamente che non riesco a trovare nel crontab per gli utenti previsti, quindi mi piacerebbe cercarlo nei crontab di tutti gli utenti.
In sostanza, voglio eseguire un crontab -l
per tutti gli utenti.
Ho uno script eseguito automaticamente che non riesco a trovare nel crontab per gli utenti previsti, quindi mi piacerebbe cercarlo nei crontab di tutti gli utenti.
In sostanza, voglio eseguire un crontab -l
per tutti gli utenti.
Risposte:
Bene dipende dallo script, ma facilmente puoi trovare il tuo crontab come root con
crontab -l -u <user>
Oppure puoi trovare crontab dallo spool dove si trova il file per tutti gli utenti
cat /var/spool/cron/crontabs/<user>
Per mostrare tutti i crontab degli utenti con il nome utente stampato all'inizio di ogni riga:
cd /var/spool/cron/crontabs/ && grep . *
crontab -e -u <user>
per modificarlo funziona anche
/var/spool/cron/<user>
sul mio host Centos 7.
Un liner che elenca tutti gli utenti e stampa cron per ogni utente:
for user in $(getent passwd | cut -f1 -d: ); do echo $user; crontab -u $user -l; done
Questa soluzione:
/var/spool/cron/crontabs/
Vs/var/spool/cron/
sh
ma non bash
.
In RHEL / OEL puoi elencare i lavori cron creati da tutti gli utenti:
#cd /var/spool/cron/
#ls -1
root
oracle
user1
Per vedere i cronjob di root:
#cat root