私はスクリプトを通してcrontabを編集する方法に関する多くのドキュメントがあることを知っています。以下を使用して項目を追加することでこれを行うことができました。
line="* * * * * /my/folder/script.sh"
( crontab -l ; echo "$line" ) | crontab -
しかし、私と他の何人かの人々はcrontabのスーパーユーザーの下に独自の「セクション」を持っています。
SPECIAL_JOB
他の人のセクションやアイテムを妨げないように、埋め込み行の下など、キーワードや文字列の下にこの行を挿入するにはどうすればよいですか?私はcrontabの下部に新しいタスクを追加し続けたくありません。
cronエントリは次のとおりです。
# SPECIAL_JOB
* * * * * /my/folder/script.sh
理想的には、次を使用して単一の新しい項目を保持するために、その行の古い項目を削除します。
#remove entry
crontab -l | grep -ve '/my/folder/script.sh' | crontab -
ベストアンサー1
これにより、# SPECIAL_JOB
すべての行の後に文字列が挿入されます$line
。
crontab -l | sed '/# SPECIAL_JOB/a'"$line" | crontab -