Ada dua cara untuk mengedit crontab:
secara interaktif, menggunakan crontab -e, yang akan membuka crontabeditor yang ditentukan oleh $VISUALatau $EDITOR, atau
non-interaktif, menggunakan crontab crontab.txt, yang hanya akan mengimpor crontabentri dari file crontab.txt, menggantikan crontab aktif yang ada untuk pengguna saat ini.
Masalah yang Anda miliki adalah bahwa Anda hanya menggunakan crontabperintah yang salah.
Berikut ini menyangkut manipulasi crontab non-interaktif:
Jadi, untuk menghapus tugas tertentu secara terprogram, Anda dapat melakukan sesuatu seperti
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
di mana PATTERNekspresi reguler yang cocok dengan tugas yang ingin Anda hapus. Di sini, crontab -lakan memberi Anda saat ini crontab.
Atau, jika Anda memiliki entri dalam file bernama crontab-fragment.txtyang ingin Anda hapus dari crontab aktif,
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
Ini membaca crontab saat ini dan memfilter (menghapus) setiap baris yang juga terjadi pada file crontab-fragment.txtdi direktori saat ini (menggunakan perbandingan string baris penuh). Hasilnya disimpan ke crontab.txtdan kemudian dimuat dari sana untuk mengganti crontab saat ini.
Untuk menambahkan satu atau beberapa tugas , lakukan sesuatu seperti
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
Ini dengan asumsi bahwa file tersebut crontab-fragment.txtberisi entri yang ingin Anda tambahkan. Bunyinya crontab saat ini, menambahkan entri dari crontab-fragment.txtini dan membuat crontab.txt. The crontab.txtfile maka menggantikan crontab saat ini.