gpt4 book ai didi

Linux cron 作业无法执行在 shell 中运行的部分脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:28 29 4
gpt4 key购买 nike

我在备份过程中写入日志文件的脚本有问题。从根 shell 调用时测试完美,但从 cron 恶魔运行时失败。

备份是在一系列分区上完成的,现场管理员将每周轮换顶部码头的驱动器。为了知道最近的备份位于何处,我添加了以下几行

sudo hdparm -I /dev/sdb | grep 'Model Number'
sudo hdparm -I /dev/sdb | grep 'Serial Number'

我已经尝试过使用 >>/batch/backup.log 和不使用。当 bash 脚本从命令行运行时,它运行得很好。但是当 crontab 调用脚本时,这些行的输出是空白的。

crontab 条目:00 00 * * */batch/backup.bat >>/batch/backup.log

除了 cron 无法处理管道或 grep 或其他东西的可能性外,我不知道为什么。

我已经在 test.bat 中隔离了这些行,但它们仍然是空白的。

备份脚本最后使用 hdparm 来降低驱动器的转速,但现在我想知道如果 cron 无法处理 hdparm,那是否不能正常工作。

最佳答案

这可能是因为通过 cron 执行脚本时 hdparm 不在 PATH 中。虽然不太可能,但同样适用于 grep

尝试在脚本中将 hdparm 替换为 /full/path/to/hdparm

关于Linux cron 作业无法执行在 shell 中运行的部分脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22704290/

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