Ubuntu 18.04で、cronを介してスクリプトmyscript.sh
を実行する必要があります。これには、とりわけ、別のスクリプトのインストール手順pluckeye-linux-0.99.40.installer
が含まれており、退屈なエラーが発生しています。
問題のスクリプトは Pluckeye のペアレンタルコントロールアプリのインストーラーです。これはルートとして実行する必要があります。配置したmyscript.sh
の内側
cd "/path/to/pluckeye/"
./pluckeye-linux-0.99.40.installer
Sudo crontab -e
を実行してそこに配置すると
* 20 * * * "/path/to/myscript.sh"
次に、Pluckeyeのインストーラーは不可解なエラーを返します(cronが実行した内容の出力をファイルにリダイレクトしているので、問題の原因を確認できます)。
0b8e:24: ca151e1e WARNING 32512 0b8e:33: ca151e1e WARNING 0x30b8e019 0b8e:42: ca151e1e WARNING 0x30b8e019 0b8e:78: ca151e1e WARNING 0x30b8e019 0c2c:14: ca151e1e WARNING 0x30b8e019 0b4c:20: ca151e1e WARNING 0x30b8e019 0c70:48: ca151e1e WARNING 0x30b8e019 FAILED TO INSTALL: 6400
しかし、Sudo
を使用してシェルでインストーラーを正常に実行すると(すぐに返され、エラーが発生します)
I need to be invoked by root
FAILED TO INSTALL: 11520
)問題なく動作します。
これは、cronが独自の最小限の環境を使用しているという事実から来ていると思います。上記の代わりに使用するなど、インターネットで見つけたさまざまなことを試しました
* 20 * * * . $HOME/.profile; "/path/to/myscript.sh"
インストーラーが動作することを期待していますが、何も変わりません。スクリプト内にSudo
を配置したくないので、
cd "/path/to/pluckeye/"
Sudo ./pluckeye-linux-0.99.40.installer
私が読んだように、それはセキュリティリスクをもたらします。
Pluckeyeをcron経由でインストールするために何をする必要がありますか?
多分あなたはこれをするでしょう:
* 20 * * * sh /path/to/myscript.sh
* 20 * * * root cd /path/to/pluckeye/ && sh ./pluckeye-linux-0.99.40.installer