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
作为日期格式,这样更容易按日期排序。
我正在编写一个脚本,每周一次将 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
作为日期格式,这样更容易按日期排序。