cronは実行環境を変更し、torサービスが終了ノードを変更しないようにしますか?

cronは実行環境を変更し、torサービスが終了ノードを変更しないようにしますか?

~によるとhttps://unix.stackexchange.com/a/478636/674、cron はジョブを実行するために実行環境を変更します。

  1. Bashで直接2回実行すると、sudo service tor reload常に2つの異なるIPアドレスが表示されます。

    $ sudo service tor reload; torsocks  curl ipinfo.io/ip; sudo service tor reload; torsocks  curl ipinfo.io/ip
    12.345.678.901
    987.654.321.00
    

    sudo service tor reloadこれにより、終了ノードが変更される可能性が高く、それに応じてパブリックIPアドレスが変更されます。これは正しいですか?

  2. しかし、cronジョブを作成する/etc/cron.d/myjobとき

    * * * * * tim (sudo service tor reload; torsocks  curl ipinfo.io/ip; sudo service tor reload; torsocks  curl ipinfo.io/ip) > /tmp/cron.log
    

    確認するたびに、/tmp/cron.logIPアドレスはジョブごとに異なりますが、常に2つの同じIPアドレスが表示されます(次のスケジュールされたジョブがログを上書きすると、上書きする前の2つのIPアドレスとは異なる2つの同じIPアドレスが表示されます)。リロード間に挿入する場合も同様ですsleep 20

    * * * * * tim (sudo service tor reload; torsocks  curl ipinfo.io/ip; sleep 20; sudo service tor reload; torsocks  curl ipinfo.io/ip) > /tmp/cron.log
    

    クローンジョブとしてsudo service tor reloadIPアドレスを変更できないのはなぜですか?どのように動作させることができますか?

ありがとうございます。

答え1

問題の原因は、作業行でコマンドが使用され、sudoユーザーフィールドがrootではないユーザーであることですtimtim要求されたパスワードを提供していませんsudo

私はまだcronジョブのユーザーとコマンドフィールドの作成に関するベストプラクティスを理解しようとしています。「/etc/cron.d/」ファイルのcronジョブに「sudo」を含めてはいけませんか?

関連情報