ブラウザを介してのみ実行できるログインプロセスを自動化しようとしています。私はこれを行うために必要な作業スクリプトを書くためにLynxブラウザを使用しています。 Lynx はユーザーのキーストロークをファイルにダンプし、-cmd_script=scriptfile
Load scripts フラグを受け入れてこれを行います。
私はBobcatに電話します。
lynx -accept_all_cookies -cmd_script="myscript.lynx" www.example.com
私の対話型端末で生成されたスクリプトは私にとって完璧に動作します。
cronにジョブを実行させましたが、機能しません。私は/var/log/everything.logをチェックしましたが、スクリプトが実行されたときにlynxが次のように尋ねることを確認しました。
Your Terminal type is unknown!
Enter a terminal type: [vt100]
この問題を解決するために問題を停止するフラグを使用しましたが、-term=linux
ログインプロセスがまだ最初のページを通過できないようです(ログファイルを見ると)。
できるだけ多くの提案を試しました。対話型端末からenvの結果をコピーしてスクリプトに貼り付けて、環境で問題が解決するかどうかを確認しましたが、残念ながらそうではありませんでした。
また、注:私のログインプロセスにはリダイレクトが含まれています(Lynxブラウザではリダイレクトされないため、提供されているリンクに従います)。
ベストアンサー1
単純な間違いだったことがわかりました。私はflagを使用したときにそれをスクリプトと同じディレクトリに配置しました(場合)-cmd_script="myscript.lynx"
。私はcronが明らかにユーザーのホームディレクトリからスクリプトを実行したので、lynxがスクリプトを実行していないことを発見しました。私はルートのcrontabを使用しているので、私が望む方法ではなく検索を実行しています。myscript.lynx
/root/bin
/root
myscript.lynx
/root/bin
簡単に修正できますか?-cmd_script="/root/bin/myscript.lynx"