df -g cronjob 输出到文本文件

df -g cronjob output to text file

我正在编写一个脚本,每周一次将 df -g 的输出写入一个文本文件。 这是我的脚本,我认为它应该可以工作,但是每当我尝试通过键入 ./check_space.sh 并以 root 身份 运行 时,我都会收到以下错误: ./check_space.sh: 第 13 行:意外标记附近的语法错误 done' ./check_space.sh: line 13:done'

#!/bin/bash
#this script will run every week to grab a df -g and output it to a file.
#times to sleep
        #10080 = 1 week

#date command
NOW=$(date +"%m.%d.%y")

while true, do
df -g > /sds/app/force/custom/dumplogs/harddisk/$NOW.log

#sleep 10080
done

最初我想运行在屏幕会话中使用这个脚本,这就是 Sleep 在那里的原因,但我很快决定 运行 它会更好每周一次 cron。

问题是由true后面的逗号引起的。正确的语法是分号:while true; do。但是您首先不需要 while 循环。像下面这样的东西就足够了:

#!/bin/bash

NOW=$(date +"%m.%d.%y")
df -g > /sds/app/force/custom/dumplogs/harddisk/$NOW.log

我还建议您使用 %Y-%m-%d 作为日期格式,这样更容易按日期排序。