編集には2つの方法がありますcrontab
。
インタラクティブに、を使用してcrontab -e
、またはでcrontab
指定されたエディターでを開きます、または$VISUAL
$EDITOR
非対話的に、使用してcrontab crontab.txt
簡単にインポートしますた、crontab
ファイルからエントリをcrontab.txt
、交換し、現在のユーザーのための既存のアクティブのcrontabを。
あなたが持っている問題は、単にcrontab
間違ったコマンドを使用しているということです。
以下は、非対話型のcrontab操作に関するものです。
そのため、特定のタスクをプログラムで削除するには、次のようなことができます
$ crontab -l | grep -v 'PATTERN' >crontab.txt && crontab crontab.txt
where PATTERN
は、削除するタスクに一致する正規表現です。ここでcrontab -l
は、現在のを提供しますcrontab
。
または、crontab-fragment.txt
アクティブなcrontabから削除したいというファイルのエントリがある場合、
$ crontab -l | grep -v -Fx -f crontab-fragment.txt >crontab.txt && crontab crontab.txt
これにより、現在のcrontabが読み取らcrontab-fragment.txt
れ、現在のディレクトリ内のファイルでも発生する行がすべて除外されます(削除されます)(完全な文字列比較を使用)。結果が保存さcrontab.txt
れ、そこからロードされて現在のcrontabが置き換えられます。
1つまたは複数のタスクを追加するには、次のようにします
$ crontab -l | cat - crontab-fragment.txt >crontab.txt && crontab crontab.txt
これはcrontab-fragment.txt
、追加するエントリがファイルに含まれていることを前提としています。現在のcrontabを読み取り、そこcrontab-fragment.txt
にエントリを追加してを作成しますcrontab.txt
。crontab.txt
ファイルは、現在のcrontabを置き換えます。