Chcę tylko wszystko zatrzymać. Nie wykonuj niczego na liście crontab -l
.
68
crontab -e
następnie skomentuj każdą linię, z którą nie chcesz biegać #
.
Najpierw utwórz kopię zapasową pliku crontab:
crontab -l > my_cron_backup.txt
Następnie możesz go opróżnić:
crontab -r
Przywrócić:
crontab my_cron_backup.txt
crontab -l
/tmp
jest uszkodzony (a jeśli crontab -e wykorzystujemktemp
w/tmp
.crontab -r
tego szukałem. Dzięki !Czy masz dostęp do roota? Po prostu zatrzymaj crona
Następnie uruchom go ponownie, gdy będziesz gotowy
źródło
sudo service cron stop
/etc/init.d/cron stop
.service cron stop
.Jeśli używasz vi jako edytora, to po prostu wejdź
:%s/^/#/
w tryb poleceń. We wszystkich liniach (%) podstawia (s ///) początek linii (^) hashem (#).źródło
EDITOR=vi; crontab -e
, a następnie możesz użyć powyższej sztuczki.:%s/^#//
Nie był zadowolony z powyższych opcji, ponieważ nie były to jedne linijki.
Wyłączyć
crontab -l | perl -nle 's/^([^#])/# $1/;print' | crontab
Umożliwić
crontab -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab
przykład użycia (edytowany, aby pokazać, że nie wyłącza komentarzy)
Przetestowałem to na RHEL i AIX, i powinien działać od razu po instalacji, bez potrzeby instalowania czegokolwiek
źródło
crontab: usage error: file name must be specified for replace
. Wygląda na to, że musisz określić plik (?), Jeśli używasz gocrontab
bez żadnych parametrów (co jestreplace
domyślnie).W moich ograniczonych testach ustawienie powłoki na / bin / false działa. Nadal zobaczysz
/opt/job.sh
wykonywanie w dziennikach, ale będzie to noop:źródło
W każdym znanym mi systemie Unix / Linux:
To:
źródło
Pomysł zaczerpnąłem z odpowiedzi udzielonej przez @segaps
Wyłączyć:
Umożliwić:
Jedynym problemem związanym z rozwiązaniem dostarczanym przez segaps jest to, że odkomentuje zadania, które zostały już skomentowane przez użytkownika.
źródło
Aby to zrobić, używając nano jako edytora:
następnie skomentuj każdą linię, której nie chcesz uruchamiać z #
źródło