クローンを操作するためのシェルスクリプト

クローンを操作するためのシェルスクリプト

私はcpanelでcronジョブを設定しましたが、スクリプトを実行しているようですが、期待どおりに動作しません。

これはcpanelのcron作業コマンドです。

/bin/sh /home/my-username/cronjobs/sedclearmalw.sh

スクリプトの内容は次のとおりです。

#!/bin/bash
cd ../public_html/
grep -rl '_0xaae8' . | xargs sed -i 's/var\s_0xaae8.*//g'

私はcdコマンドがディレクトリに戻り、public_htmlを入力する必要があるので正確でなければならないと思いますが、2番目のコマンドは問題のようです。 ssh(bash sedclearmalw.sh)を介して実行しようとしましたが、約15秒間実行されているように見えましたが、以下を使用して確認した結果、操作は完了しませんでした。

grep -rl '_0xaae8'

_0xaae8を含む1つのファイルを返します。どんな助けでも大変感謝します。シェルスクリプトの上記のコマンドが(スクリプトではなく)sshを介して実行されると正しく機能することがわかっているので、単純なものでなければなりません。

ベストアンサー1

問題は相対パスを使用して発生します。スケジュールされたタスクを実行するときは、所有者cronのホームディレクトリを作業ディレクトリとして使用します。たとえば、ジョブをrootとしてスケジュールすると、その作業ディレクトリは/root/Cent OSシステムにあります。

コマンドに絶対パスを指定する必要がありますcd。スクリプトで他のコマンドを実行しない場合は、すべてのコマンドを1行で実行できます。

grep -rl '_0xaae8' /full/path/to/public_html/ | xargs sed -i 's/var\s_0xaae8.*//g'

おすすめ記事