我正在将 cronjob 配置为每分钟输出一次,但最终在根目录中有一个空的 txt 文件(hello.txt)。这些是使用的文件和代码:
Testcron.sh 文件:
#!/bin/bash
/root/libvmi/examples/Test1 TestVM1
vi /etc/crontab:
* * * * * root /root/Testcron.sh >> hello.txt
我做得正确吗?请帮忙。
谢谢 :)
答案1
(将评论纳入此问题的真实答案)
@史蒂夫建议:
修改
root /root/Testcron.sh >> hello.txt
为root /root/Testcron.sh >> hello.txt 2>errors.txt
以便捕获任何错误输出
@Joy 从中看到有一个错误,他们需要设置:
export LD_LIBRARY_PATH=/usr/local/lib
在运行 Test1 命令之前。生成的 Testcron.sh 文件如下:
#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib
/root/libvmi/examples/Test1 TestVM1
答案2
如果您尝试运行crontab -e
命令 asroot
并在那里设置您的作业会怎样?
# crontab -e
* * * * * /root/Testcron.sh >> hello.txt
不建议编辑/etc/crontab
文件。这里crontab -e
您可以看到& 编辑文件之间的区别/etc/creontab
。
从这一页
该文件可用于其他 cron 命令,但可能不应该如此。下面是来自虚构的 /etc/crontab 的示例行
00 01 * * * rusty /home/rusty/rusty-list-files.sh
这将以用户 rusty 的身份从他的主目录运行 Rusty 的命令脚本。然而,向该文件添加命令并不常见。虽然有经验的用户应该了解这一点,但不建议您向 /etc/crontab 添加任何内容。除此之外,如果 /etc/crontab 文件受到更新的影响,这可能会导致问题!拉斯蒂可能会失去指挥权。