免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2407 | 回复: 8
打印 上一主题 下一主题

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-06 22:27 |只看该作者 |倒序浏览
用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?没有一点头绪,想做,又做不了。大伙给些建议吧!

论坛徽章:
0
2 [报告]
发表于 2005-07-06 23:03 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

shell可以写mysql的。
把相应的数据作为变量应该就可以了。
du
mysql

论坛徽章:
0
3 [报告]
发表于 2005-07-07 08:43 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

原帖由 "零二年的夏天" 发表:
shell可以写mysql的。
把相应的数据作为变量应该就可以了。
du
mysql


那如何去获取du后目录大小这个数值呢?

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
4 [报告]
发表于 2005-07-07 09:39 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

不用取吧?直接格式化成sql语句喂给mysql行么?
du |
awk 'BEGIN {print "USE DUDATA;"}
{print "INSERT INTO du_table (size, dir) VALUES(" $1 ",\"" $2"\";"}
END {print "exit;"} '
|mysql ...

具体的mysql命令不太懂,自己改改?

论坛徽章:
0
5 [报告]
发表于 2005-07-07 11:07 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

原帖由 "waker" 发表:
不用取吧?直接格式化成sql语句喂给mysql行么?
du |
awk 'BEGIN {print "USE DUDATA;"}
{print "INSERT INTO du_table (size, dir) VALUES(" $1 ",\"" $2"\";"}
END {print "exit;"} '
|mysql ...

具体的..........


多谢两位高手指点,我的思路清晰多了,也明白了不少问题。

waker这个程序够强大,能统计当前目录下所有目录及目录下的文件大小。假如我现在要这么做:
test目录,然后下面有test1目录、test2目录……test10目录,我只要统计test1到test10这10个目录的大小并插入到数据库中,他们下面的目录就不要插入数据库。那该怎么写。

现在这个程序是将所有的目录都插入,包括下级目录的统计信息。

我搞了半天还是没成功。

论坛徽章:
0
6 [报告]
发表于 2005-07-07 11:22 |只看该作者

用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");

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2005-07-07 11:31 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

cd test
du * -s |awk......

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2005-07-07 11:34 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

我想将每个目录的“./”去掉...

看置顶基础12篇awk篇中的sub()函数

论坛徽章:
0
9 [报告]
发表于 2005-07-07 11:35 |只看该作者

用shell自动统计各个目录占用磁盘空间并记录到mysql,能实现吗?

谢谢waker和斑竹,我搞定了。
现在开始研究和数据库打交道!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP