我想使用简单的bash脚本在2小时后自动刷新Firefox。 我有:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
xvkbd -window Firefox -text "\Cr";
exit 0
我希望使用crontab -e运行它。我添加了任务但没有任何反应。 当我用终端运行这个脚本时,一切都没有任何问题。 我也在我的简单脚本中尝试过xdotool。 我对firefox附加组件不感兴趣,例如"重新加载每个"或者"选项卡自动重新加载",因为每次重启firefox都会丢失附加组件的设置。 任何答案或想法将受到高度赞赏。 谢谢。
答案 0 :(得分:1)
xvkbd包有些奇怪的东西。最后我发现了另一个解决方
我为Firefox安装了MozRepl插件。
它在mozrepl@hyperstruct.net.xpi
目录中创建文件.mozilla
。我浏览了defaults/preferences/mozrepl.js
,发现pref("extensions.mozrepl.autoStart", false)
; “假”我改为“真”。即使我关闭浏览器,这也是Firefox自动运行加载项的方式。
我还写了简单的期望脚本:
#!/usr/bin/expect -f
set timeout 10
spawn nc localhost 4040
expect {
"repl>" {send "BrowserReload(), repl.quit()\r"; exp_continue}
"lost connection" {puts "ERROR: lost connection"}
"No route to host" {puts "ERROR: no route to host"}
timeout {puts "ERROR: timeout"}
}
我也创建了一个cron任务:
00 */2 * * * /root/script.exp
答案 1 :(得分:0)
crontab
不是shell脚本。您应该通过运行crontab
详细了解man 5 crontab
的格式。如果这对您来说太令人生畏,您应该在Google上搜索无数的cron
教程。例如,当您搜索“Vixie cron教程”时,第一个结果是Newbie: Intro to cron,经过简单检查,这对您的帮助很有帮助。
对于您的特定用例,请在crontab
中添加以下内容。 (将其粘贴到由crontab -e
打开的文本编辑器中,或将其保存到文件中然后执行crontab FILENAME
。我更喜欢后一种方法。您可以查看当前{{1通过crontab
进行操作。通过运行crontab -l
了解有关crontab
命令的更多信息。)
man 1 crontab
这样SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
00 */2 * * * xvkbd -window Firefox -text "\Cr"
守护进程应该每两个小时运行命令crond
,凌晨0:00,凌晨2:00,凌晨4:00等等。如果您更愿意这样做在凌晨1点,凌晨3点等,用
xvkbd -window Firefox -text "\Cr"
第一个00 1-23/2 * * * xvkbd -window Firefox -text "\Cr"
是分钟,所以你也可以用30代替它:
00
然后命令在凌晨0:30,凌晨2:30等运行
与往常一样,请阅读手册页(30 */2 * * * xvkbd -window Firefox -text "\Cr"
)或tutorial以获取更多信息。所以不是完整的教程。