Od czasu aktualizacji crontab mojego użytkownika został usunięty. To nie pierwszy raz w tym roku i ból przywraca go za każdym razem.
Chciałbym móc wykonać kopię zapasową pliku crontab dla mojego użytkownika, ale w tym celu muszę wiedzieć, gdzie jest przechowywany.
cron
pakietu, ale zgadzam się - nie jest to coś, co powinno się zdarzyć.Odpowiedzi:
W rzeczywistości nie zaleca się ręcznego obsługiwania tych plików. Na
crontab
stronę podręcznika :Pliki poniżej
/var/spool
są uważane za tymczasowe / działające, dlatego prawdopodobnie zostaną usunięte podczas aktualizacji, chociaż bliższe spojrzenie nacron
skrypty aktualizacji pakietu może rzucić nieco światła na ten temat.W każdym razie dobrą praktyką jest tworzenie kopii zapasowych wpisów cron lub przechowywanie ich w pliku w katalogu domowym.
Zakładam, że używasz
crontab -e
do tworzenia plików crontab w locie. Jeśli tak, możesz uzyskać „kopię” pliku crontabcrontab -l
. Prześlij go do pliku, aby uzyskać „kopię zapasową”:Następnie możesz edytować ten plik my-crontab, aby dodać lub zmodyfikować wpisy, a następnie „zainstalować”, podając go plikowi crontab:
Robi to samo sprawdzanie składni jak
crontab -e
.źródło
crontab -l
jest łatwiejsze niż przejście,/var/spool/cron/crontabs/$USER
głównie ze względu na dziwne uprawnienia do tego pliku.iptables-save
of cron. Fajnie .../var/spool/cron/crontabs
jest przydatne, gdy chcesz wyleczyć lub sprawdzić crontabs od wielu użytkowników.sudo grep -rHin "$string" /etc/cron*
(gdzie ciąg może być komenda jakdocker
,lftp
,iptables
itp Jest to dobry pomysł, aby sprawdzić crontaby użytkowników również, że to, co prowadzi mnie do tego Q & A..sudo grep -rHin "$string" /etc/cron* /var/spool/cron*
Jest przechowywany w
/var/spool/cron/crontabs
folderze pod nazwą użytkownika.źródło
W końcu dowiedziałem się, dlaczego moje crontabs i instalacja Postfix ciągle się psują po starcie. To naprawdę głupi powód, ale ...
Ja
/var/spool
zamontowany jakotmpfs
RAM dysku.Brzmi głupio i jest, ale poszedłem za jednym ze starych ulepszeń SSD, aby wydłużyć życie mojego SSD. Czyniąc tak, ja ślepo zamontowane
/tmp
,/var/tmp
a/var/spool
jaktmpfs
nie myśląc o skutkach. Myślałem, że/var/spool
było jak/proc/
albo/run/
i że był przydatny tylko na czas trwania sesji. Najwyraźniej się myliłem.źródło
/tmp
jako tmpfs, ale nie/var/tmp
lub/var/spool
./tmp
służy do tymczasowego przechowywania, które może zostać utracone po ponownym uruchomieniu./var/tmp
służy do tymczasowego przechowywania, które pozostanie po ponownym uruchomieniu. Jak już odkryłeś,/var/spool
dane mają być przetwarzane, które pozostaną również po ponownym uruchomieniu.Aby wyświetlić listę wszystkich zadań cron od wszystkich użytkowników w systemie:
Alternatywą dla twojego problemu byłoby umieszczenie ich w folderze cron.d i określenie odpowiedniego użytkownika na crona, jak na przykład:
źródło
crontab -u
działa z twojego obecnego systemu.while read user
pętlę, aby obsłużyć przypadek, w którym nazwa użytkownika zawiera spacje, ale najwyraźniej nie jest to problem. Bardzo ograniczony zestaw znaków nazwy użytkownika.