这是我的脚本:
#!/bin/bash
for arg in sd{a..n}; do echo $arg; smartctl --all --json --nocheck standby /dev/$arg > /root/smartctl/$arg.json; done
如果我从命令行运行脚本,它可以完美运行
root@server:~/smartctl# bash update.sh
但是当我通过 crobtab -e 运行时它不起作用
* * * * * /bin/bash /root/smartctl/update.sh
当它由 crontab 运行时,它只会创建一堆空文件(/tmp/sda.json 等)当我通过终端运行时,它会创建这些文件,但它们不是空文件。
我的操作系统是 ubuntu 18.04 lts
答案1
smartctl
应该/usr/sbin/smartctl