gpt4 book ai didi

linux - Ubuntu 中的 Cron 作业

转载 作者:太空狗 更新时间:2023-10-29 11:30:19 25 4
gpt4 key购买 nike

这应该非常简单,但尽管通过 Google、Stackoverflow 和手册页阅读了一些教程,但我似乎无法让它工作。

我创建了一个 cron,每 1 分钟运行一次(用于测试),它所做的基本上就是吐出日期。

crontab -l
* * * * * /var/test/cron-test.sh

cron-test 文件是:

echo "$(date): cron job run" >> test.log

等待了很多分钟,但我从未看到 test.log 文件。

我可以手动调用“test.sh”并将其输出和追加。

我想知道我错过了什么?我也以 root 身份执行此操作。我想知道我是否对 root 的位置有什么误解?我的路径是否因为向其附加了某种主目录而搞砸了?

谢谢!


更新 ------------------

看来我没有遵循目录路径。如果我将目录更改为 root 的主目录:

# cd

我看到我的输出文件“test.log”每分钟打​​印出所有日期。

那么,我会将我的问题更新为,我对/path 有什么误解?是否需要使用一个术语来让它从根目录开始?

干杯!

更新 2 ------------------

好的,所以我得到了我所缺少的东西。

设置 crontab 的脚本工作正常。它正在查找相对于根目录的文件。即:

* * * * * /var/test/cron-test.sh

但是“cron-test.sh”文件没有设置为相对于根目录。因此,当“root”运行脚本时,它会将其转储到“root”的主目录中。我的想法是,由于脚本在“/var/test/”中运行,因此文件也将转储到“/var/test/”中。

相反,我需要在脚本文件中设置位置以正确转储它。

echo "$(date): cron job run" >> /var/test/test.log

那行得通。

最佳答案

您没有为 test.log 提供任何路径,因此它将在当前路径(默认情况下是用户的主目录)中创建。您应该更新脚本并提供完整路径,例如:

echo "$(date): cron job run" >> /var/log/test.log

关于linux - Ubuntu 中的 Cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com