Dlaczego Crontab -e różni się od less / etc / crontab?
11
Jestem całkiem nowy w unixie i cronach, właśnie miałem zamiar dodać crony do istniejącego pliku cron. Czytałem, że możesz to zrobić crontab -e. crontab -eMylące jest dla mnie to, że pokazuje inne crony / polecenia niż less /etc/crontab- jak to możliwe? Który jest prawidłowy sposób / plik do edycji?
Chociaż odpowiedź @X Tian zawiera informacje o różnych plikach crontab, niezbędne informacje dotyczące twojego pytania są następujące:
crontab -eedytuje plik crontab użytkownika (przechowywany w /var/spool/cron/crontabs/katalogu w obecnych systemach Debiana, ale YMMV) lub tworzy nowy, a nie /etc/crontab. Podobne dla crontab -l(plik listy crontab) i crontab -r(usuń plik crontab).
Do wszystkich zadań cron, które powinny być wykonywane na koncie użytkownika, należy użyć crontab -e. W przypadku zadań systemowych należy dodać plik pod /etc/cron.d, jeśli taki istnieje; under /etc/cron.{hourly|daily|weekly|monthly}(ale nie mogą być nazwane jak nazwa pakietu!), jeśli odpowiada to twojemu celowi; lub dodaj linię do /etc/crontab. Pamiętaj jednak, że /etc/crontabmoże to zostać zastąpione aktualizacją systemu.
@Stephane Chazelas Dziękujemy za wyjaśnienie swojej edycji. /var/spool/cron/Katalog to specjalność Linux (patrz File Hierarchy Standard ), a lokalizacja może być różna w systemach innych niż bieżąca Debianie.
Dubu,
3
Naprawdę chcesz przeczytać strony podręcznika man croniman crontab
Oto wyciąg, który obejmuje twoje pytanie. Odman cron
UWAGI cron przeszukuje swój obszar buforowania (/ var / spool / cron / crontabs) w poszukiwaniu plików crontab (nazwanych na cześć kont w / etc / passwd); znalezione pliki crontabs są ładowane do pamięci. Zauważ, że crontabs w tym katalogu nie powinny być dostępne bezpośrednio - należy użyć polecenia crontab, aby uzyskać do nich dostęp i je zaktualizować.
cron also reads /etc/crontab, which is in a slightly different format
(see crontab(5)). Additionally, cron reads the files in /etc/cron.d:
it treats the files in /etc/cron.d as in the same way as the
/etc/crontab file (they follow the special format of that file, i.e.
they include the user field). However, they are independent of
/etc/crontab: they do not, for example, inherit environment variable
settings from it. The intended purpose of this feature is to allow
packages that require finer control of their scheduling than the
/etc/cron.{daily,weekly,monthly} directories to add a crontab file to
/etc/cron.d. Such files should be named after the package that supplies
them. Files must conform to the same naming convention as used by run-
parts(8): they must consist solely of upper- and lower-case letters,
digits, underscores, and hyphens. If the -l option is specified, then
they must conform to the LSB namespace specification, exactly as in the
--lsbsysinit option in run-parts.
Powinieneś określić, z której implementacji cron i której wersji, na którym systemie operacyjnym i której wersji ją przytaczasz. cronjest czymś, co różni się w zależności od systemu operacyjnego, a na niektórych można wybierać między kilkoma implementacjami.
/var/spool/cron/
Katalog to specjalność Linux (patrz File Hierarchy Standard ), a lokalizacja może być różna w systemach innych niż bieżąca Debianie.Naprawdę chcesz przeczytać strony podręcznika
man cron
iman crontab
Oto wyciąg, który obejmuje twoje pytanie. Od
man cron
źródło
cron
jest czymś, co różni się w zależności od systemu operacyjnego, a na niektórych można wybierać między kilkoma implementacjami.