Linux硬碟的使用狀況指令碼

aishu521發表於2012-06-27

[oracle@TEST ~]$ df -h

Filesystem           Size Used Avail Use% Mounted on

/dev/cciss/c0d0p5     79G  15G  61G 20% /

/dev/cciss/c0d0p1     99M  13M  82M 13% /boot

none                 8.0G    0 8.0G  0% /dev/shm

/dev/cciss/c0d0p3     99G  89G 4.6G 96% /u02

/dev/cciss/c0d0p2    289G 2.0G 272G  1% /u03

/dev/cciss/c0d0p7    330G  29G 285G 10% /u09

通過下的shell script對df –h的結果進行處理

df -h | grep -v '^\' | grep -v '^\' | sed 's/%//g'

[oracle@TEST ~]$ df -h | grep -v '^\' | grep -v '^\' | sed 's/%//g'                                                                    

/dev/cciss/c0d0p5     79G  15G  61G 20 /

/dev/cciss/c0d0p1     99M  13M  82M 13 /boot

/dev/cciss/c0d0p3     99G  89G 4.6G 96 /u02

/dev/cciss/c0d0p2    289G 2.1G 272G  1 /u03

/dev/cciss/c0d0p7    330G  29G 285G 10 /u09

這條語句的含義是去掉df –h中的Filesystem,none行,並將硬碟使用百分比的%去掉,可以用重定向符>將結果輸出到一個檔案中

df -h | grep -v '^\' | grep -v '^\' | sed 's/%//g' > diskinfo

將上面的資訊轉換為sql,並將sql儲存到diskinfo.sql檔案中

awk '{print "insert into diskinfo values ('\''"$1"'\'', '\''"$2"'\'', '\''"$3"'\'', '\''"$4"'\'', "$5", '\''"$6"'\'');"}' diskinfo > diskinfo.sql

在資料中建立表

SQL> create table diskinfo

 2  (filesystem varchar2(50),

 3   totalsize varchar2(20),

 4   used varchar2(20),

 5   avail varchar2(20),

 6   usepercent number,

 7   mounton varchar2(15)

 8  );

通過下的script把資料插入到diskinfo表中

insert.sh

#!/bin/sh

#inster data to table diskinfo #

sqlplus / as sysdba << EOF

@diskinfo.sql

exit;

EOF

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15187685/viewspace-733962/,如需轉載,請註明出處,否則將追究法律責任。

相關文章