我希望每天两次从我的服务器上的PHP脚本获取内容,更改查询variableslang
来设置我们想要的语言,并将这些内容保存在两个语言特定的文件中。 这是我的crontab:
*/15 * * * * ~root/apache.sh > /var/log/checkapache.log 10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv" 11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"
问题是只有第一个wget命令行正在被执行(或者更确切地说:正在写入的唯一文件是/path/to/file-sv.sql
)。 如果我切换第二行和第三行, /path/to/file-en.sql
改为写入/path/to/file-en.sql
。 第一行总是按预期运行,不pipe它在哪里。
然后我尝试使用lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sql
无济于事; 仍然只有第一只l line线成功执行。 即使混合wget和l did也没有改变这个!
有点绝望! 我错过了什么吗? 在crontab(结合)wget或lynx上有成千上万篇文章,但都涵盖了基本的设置和语法。 有没有人知道我做错了什么?
谢谢,
亚历山大
尝试在你的crontab结尾添加新行。
有一些文字是错误的。 在vim中编辑你的crontab然后显示不可见的字符。
:set invlist
你应该能够看到并纠正它。
尝试添加redirect,以debuggingcrontab(或读取根邮件):
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en" > /tmp/crontab_ouptput 2> /tmp/crontab_error
还要从控制台运行“wget -O /path/to/file-en.sql”http://mydomain.com/path/?lang=en“”。
另外使用'crontab -e'validation新的crontab。
此外,请尝试删除不工作的行,并从键盘重新键入它。
备份corntab并运行命令:
crontab -l | crontab -