編集には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を置き換えます。