Istnieją dwa sposoby edytowania własnych crontab:
interaktywnie, używając crontab -e, który otworzy crontabedytor określony przez $VISUALlub $EDITOR, lub
nieinteraktywnie, używając crontab crontab.txt, który po prostu zaimportuje crontabwpisy z pliku crontab.txt, zastępując istniejącą aktywną tabelę crontab dla bieżącego użytkownika.
Problem polega na tym, że po prostu crontabźle używasz polecenia.
Poniższe informacje dotyczą nieinteraktywnej manipulacji crontabem:
Aby programowo usunąć określone zadania , możesz zrobić coś takiego
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
gdzie PATTERNjest wyrażenie regularne, które będzie pasować do zadań, które chcesz usunąć. Tutaj crontab -lda ci swój obecny crontab.
Lub, jeśli masz wpisy w pliku o nazwie crontab-fragment.txt, który chcesz usunąć z aktywnego crontab,
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
Odczytuje bieżącą tabelę crontab i odfiltrowuje (usuwa) każdą linię, która również występuje w pliku crontab-fragment.txtw bieżącym katalogu (przy użyciu pełnego porównania ciągów linii). Wynik jest zapisywany, crontab.txta następnie ładowany stamtąd, aby zastąpić bieżący plik crontab.
Aby dodać jedno lub kilka zadań , zrób coś takiego
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
Zakłada się, że plik crontab-fragment.txtzawiera wpisy, które chcesz dodać. Odczytuje bieżący plik crontab, dołącza do niego wpisy crontab-fragment.txti tworzy crontab.txt. crontab.txtPlik następnie zastępuje bieżącej tabeli.