スクリプトを介してキーワードまたは文字列の後にcrontabに行を挿入する方法

スクリプトを介してキーワードまたは文字列の後にcrontabに行を挿入する方法

私はスクリプトを通して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 -

おすすめ記事