私の質問は2つの部分で構成されています。両方の部分にご協力いただきありがとうございます。
提供された情報: - フォルダAとフォルダBという2つのフォルダがあるとします。 - フォルダAには多くのファイルが含まれています。 - フォルダBにはシェルスクリプト(code.sh)が含まれています。
パートA: スクリプトcode.shはフォルダAのすべてのファイルを削除し、スクリプトcode.shを含むフォルダBを削除する必要があります。
パートB: また、crontabを介して特定の時間に予約する必要がありますが、それ自体は問題ではありません。ただし、スクリプトがフォルダAの内容を削除した後は、パートAで説明されているように、crontabからそのエントリを削除してからフォルダBの削除に進む必要があります。
上記の内容は可能ですか?もしそうなら、誰かが私に方法を教えたり、少なくとも正しい方向を教えてもらえますか?私はUNIXを初めて使うので、助けてくれてありがとう。
メモ:全体のプロセス中に、crontabのスクリプト(code.sh)のみを手動でスケジュールできます。
ベストアンサー1
このスクリプトがrootとして実行されている場合は、/var/spool/cron/rootからそのcrontab行を削除してcrontabからエントリを削除できます。 (これが何でcrontab -l
あり、crontab -e
何のために使用されるかです)。
削除コマンドの最後に次の行を追加します(スクリプト名を{pattern}に変更します)。
sed -i '/{pattern}/d' /var/spool/cron/root
したがって、crontabの実行を入力すると、code.sh良い
0 21 * * * /etc/cron.daily/code.sh
コマンドは次のとおりです。
sed -i '/code.sh/d' /var/spool/cron/root
これにより、ルートcrontabファイルから "code.sh"を含む行が削除されます。
上記の行をスクリプトの最後に追加して、両方のファイルを削除し、crontabからエントリを削除できます。 @Barmarが言ったように、2つのフォルダを一時的に削除できます。
はい、これは非常に古い質問ですが、削除に関する直接の質問です。予約されたこと具体的に答えが必要です。