Có hai cách chỉnh sửa crontab
:
tương tác, sử dụng crontab -e
, sẽ mở crontab
trình soạn thảo được chỉ định bởi $VISUAL
hoặc $EDITOR
, hoặc
không tương tác, sử dụng crontab crontab.txt
, sẽ chỉ nhập các crontab
mục từ tệp crontab.txt
, thay thế crontab hoạt động hiện có cho người dùng hiện tại.
Vấn đề mà bạn có là bạn đang sử dụng crontab
sai lệnh.
Các vấn đề sau đây liên quan đến thao tác crontab không tương tác:
Vì vậy, để loại bỏ các tác vụ cụ thể theo lập trình, bạn có thể làm một cái gì đó như
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
trong đó PATTERN
một biểu thức chính quy sẽ khớp với (các) tác vụ mà bạn muốn xóa. Ở đây, crontab -l
sẽ cung cấp cho bạn hiện tại của bạn crontab
.
Hoặc, nếu bạn có các mục trong một tệp được gọi là crontab-fragment.txt
bạn muốn xóa khỏi crontab đang hoạt động,
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
Điều này đọc crontab hiện tại và lọc ra (loại bỏ) bất kỳ dòng nào cũng xảy ra trong tệp crontab-fragment.txt
trong thư mục hiện tại (sử dụng so sánh chuỗi dòng đầy đủ). Kết quả được lưu vào crontab.txt
và sau đó được tải từ đó để thay thế crontab hiện tại.
Để thêm một hoặc một số nhiệm vụ , hãy làm một cái gì đó như
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
Điều này giả sử rằng tệp crontab-fragment.txt
chứa các mục mà bạn muốn thêm. Nó đọc crontab hiện tại, nối các mục từ crontab-fragment.txt
này và tạo crontab.txt
. Các crontab.txt
tập tin sau đó thay thế crontab hiện tại.