如何导出每日磁盘 space 使用情况?
How to export daily disk space usage?
我是脚本新手。
是否可以每天将 linux 服务器的磁盘 space 使用情况导出到 excel shell(.csv) sheet?
如果是这样,那将是什么脚本?
使用shell脚本你可以像下面这样写。
然后你可以使用 crontabs 来安排你的脚本。
脚本:-
#!/bin/bash
DDATE=$(date '+%Y-%m-%d')
{
TIME=$(date)
DISK=$(df -h)
echo $DDATE
cat <<-EOF
>>>>Disk space<<<<
$DISK
EOF
wait
} > /tmp/output.csv
exit;
使用awk
解析df
结果:
假设 ;
是您的 csv 分隔符,那么:
df -h | awk 'FNR == 2 {print ";"";"}'
给出:
24G;5.4G;18G
在日期完整的脚本中:
#!/bin/bash
SEPARATOR=","
SIZES=`df -h | awk -v SEP="$SEPARATOR" 'FNR == 2 {print SEPSEPSEP}'`
echo `date +%Z-%Y-%m-%d_%H-%M-%S`"$SIZES" >> test.csv
如果您想要更高级的每日统计数据和历史记录,您可以使用 crontabhttp://diskreport.net 中的工具
我是脚本新手。
是否可以每天将 linux 服务器的磁盘 space 使用情况导出到 excel shell(.csv) sheet? 如果是这样,那将是什么脚本?
使用shell脚本你可以像下面这样写。 然后你可以使用 crontabs 来安排你的脚本。
脚本:-
#!/bin/bash
DDATE=$(date '+%Y-%m-%d')
{
TIME=$(date)
DISK=$(df -h)
echo $DDATE
cat <<-EOF
>>>>Disk space<<<<
$DISK
EOF
wait
} > /tmp/output.csv
exit;
使用awk
解析df
结果:
假设 ;
是您的 csv 分隔符,那么:
df -h | awk 'FNR == 2 {print ";"";"}'
给出:
24G;5.4G;18G
在日期完整的脚本中:
#!/bin/bash
SEPARATOR=","
SIZES=`df -h | awk -v SEP="$SEPARATOR" 'FNR == 2 {print SEPSEPSEP}'`
echo `date +%Z-%Y-%m-%d_%H-%M-%S`"$SIZES" >> test.csv
如果您想要更高级的每日统计数据和历史记录,您可以使用 crontabhttp://diskreport.net 中的工具