Jest pewna praca, która się pojawia, kiedy to robię
$ crontab -l
i mogę sprawdzić, czy to również działa. Jednak zadanie nie jest wymienione w /etc/crontab
.
Powiedzmy, że praca to / somedir / somefile Nie mogę znaleźć, gdzie jest określona dla crona
$ find /var/ -path *cron* -exec grep somefile {} \; 2>e
$ find /etc/ -path *cron* -exec grep somefile {} \; 2>e
nie pokazuj niczego.
Jeśli zrobię crontab -e
i usunę wiersz, zadanie nadal działa, a / etc / crontab pozostaje niezmieniony (ponieważ nie miał on wiersza w pierwszej kolejności!)
Jestem zwykłym użytkownikiem (nie jestem administratorem), a niektóre ścieżki w / var i / etc są dla mnie niedostępne (dlatego robię 2> e, aby przekierować błędy odmowy uprawnień). Jednak polecenie con job dla tego pliku powinno być dostępne, ponieważ mogę go edytować crontab -e
.
Odpowiedzi:
Crontab, w którym się
/etc/crontab
znajdujesz, to ogólnosystemowy plik crontab, który jest uruchamiany jako, a zatem edytowalny tylko przez root.Podczas używania
crontab
polecenia do tworzenia pliku crontab użytkownika umieszczane są nowe tabele cront,/var/spool/cron/crontabs
a nazwa pliku to użytkownik będący właścicielem pliku crontab.źródło