df -g cronjob输出到文本文件

时间:2016-09-02 02:37:09

标签: bash logging cron df

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

#!/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运行它会更好。

1 个答案:

答案 0 :(得分:1)

问题是由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作为日期格式,以便更容易按日期排序。