- 论坛徽章:
- 0
|
用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?
这样好象就可以了,不知有没有更好的办法(我想将每个目录的“./”去掉):
#!/bin/sh
du -s ./* |
awk 'BEGIN {print "USE DUDATA;"}
{print "insert into du_table (size,dir) values("$1",\""$2"\" ;"}
END {print "exit;"}'
结果如下:
insert into du_table (size,dir) values(5568,"./bin" ;
insert into du_table (size,dir) values(3472,"./boot" ;
insert into du_table (size,dir) values(168,"./dev" ;
insert into du_table (size,dir) values(8,"./duinset.sh" ;
insert into du_table (size,dir) values(13712,"./etc" ;
insert into du_table (size,dir) values(8,"./home" ;
insert into du_table (size,dir) values(8,"./initrd" ;
insert into du_table (size,dir) values(48324,"./lib" ;
insert into du_table (size,dir) values(16,"./lost+found" ;
insert into du_table (size,dir) values(24,"./media");
insert into du_table (size,dir) values(8,"./misc");
insert into du_table (size,dir) values(8,"./mnt");
insert into du_table (size,dir) values(76452,"./opt");
insert into du_table (size,dir) values(262706,"./proc");
insert into du_table (size,dir) values(251044,"./root");
insert into du_table (size,dir) values(13912,"./sbin");
insert into du_table (size,dir) values(0,"./selinux");
insert into du_table (size,dir) values(8,"./srv");
insert into du_table (size,dir) values(0,"./sys");
insert into du_table (size,dir) values(36,"./tmp");
insert into du_table (size,dir) values(1029008,"./usr");
insert into du_table (size,dir) values(14764,"./var"); |
|