使用 lynx 运行 cron 脚本失败

使用 lynx 运行 cron 脚本失败

我正在尝试自动化只能通过浏览器完成的登录过程。我正在使用 lynx 浏览器编写执行此操作所需的操作脚本。 Lynx 通过将用户的击键转储到文件中来实现此目的,然后允许使用标志:-cmd_script=scriptfile加载脚本。

我调用山猫:

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",我已将其放置myscript.lynx在与脚本相同的目录中(恰好是/root/bin)。我发现 lynx 从未运行过该脚本,原因是 cron 显然是从用户的主目录运行的。因为我使用的是 root 的 crontab,所以它正在搜索/rootmyscript.lynx而不是/root/bin像我希望的那样。

简单的修复方法?-cmd_script="/root/bin/myscript.lynx"

相关内容