我发现这个东西 vnstat是在vpser.com 还是net我也记不得了
按照他的教程思路大致装了一下
发现他写的东西里面出现了不少的错误
下面我结合自己的实践给大家写个完整版的教程吧
vnstat--一款简单监测指定网卡每日的传输流量软件
vnStat是一个Linux下的网络流量监控软件,它记录指定网卡每日的传输流量日志.
它并非基于网络包的过滤,而是分析文件系统- /proc, 所以vnStat无需root的权限就可使用
vnstat 有多个*nix版本:
vnstat 官网 : http://humdi.net/vnstat/
目前最新的是 vnstat-1.9.tar.gz
代码
- # wget http://humdi.net/vnstat/vnstat-1.9.tar.gz //下载
- # tar xvzf vnstat-1.9.tar.gz //解压
- # cd vnstat-1.9
- # make
- # make install
这样就安装完成了
本人系统为centos 5.3 64bit
建立流量数据库:
ifconfig 指令查看需要监控的网卡,假设只有eth0
然后生成数据库:
/usr/bin/vnstat -u -i eth0
然后做下计划任务
crontab -e
然后再最后加入
*/05 * * * * /usr/bin/vnstat --dumpdb -i eth0 >/data0/vnstat/vnstat_dump_eth0
*/05 * * * * if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat -u;fi
/data0/vnstat/vnstat_dump_eth0 为dump数据的位置可以自己定义 但是要跟php 文件匹配
把http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.4.1.tar.gz解压到http的目录里就ok了
然后调下config。php
$data_dir = ’/data0/vnstat/‘;要跟前面输出的目录一样
将要监控的网卡指定为1个:
// list of network interfaces monitored by vnStat
//$iface_list = array(’eth0′, ‘eth1′, ’sixxs’);
$iface_list = array(’eth0′,);
// will be displayed instead
//
$iface_title['eth0'] = ‘Internal’;
//$iface_title['eth1'] = ‘Internet’;
//$iface_title['sixxs'] = ‘SixXS IPv6′;
$graph_format='svg';要改成png 如 $graph_format='png';
否则你看不见图 svg 的ie插件很恶心 我试过svg的图 每次一进去ie就死。。。
效果:http://landon.v70.us/vnstat
由于最及网络卡的很 ssl连接基本连不上所以改用ftp了。下面就是在64位操作系统上安装vsftp
下载地址是ftp://vsftpd.beasts.org/users/cevans/
目前最新版本是2。20 吧
我习惯2.04 所以就用2.04了
[root@v70.us software]#wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.4.tar.gz
[root@v70.us software]#tar zxvf vsftpd-2.0.4.tar.gz
[root@v70.us software]#cd vsftpd-2.0.4
因为实在64位操作系统上安装 所以要打个补丁 2.20是不用2.04是一定要 其他版本不详
如果编译到sysdeputil文件时出现如下错误
specified for parameter 'sendfile'
sysdeputil.c:186: error: storage class specified for parameter 'environ'
sysdeputil.c:187: error: storage class specified for parameter 's_proctitle_space'
sysdeputil.c:187: error: parameter 's_proctitle_space' is initialized
sysdeputil.c:188: error: storage class specified for parameter 's_proctitle_inited'
sysdeputil.c:188: error: parameter 's_proctitle_inited' is initialized
sysdeputil.c:189: error: storage class specified for parameter 's_p_proctitle'
sysdeputil.c:189: error: parameter 's_p_proctitle' is initialized
sysdeputil.c:201: error: storage class specified for parameter 'do_sendfile'
sysdeputil.c:202: error: storage class specified for parameter 'vsf_sysutil_setproctitle_internal'
sysdeputil.c:203: error: storage class specified for parameter 's_proctitle_prefix_str'
sysdeputil.c:278: error: storage class specified for parameter 's_pamh'
sysdeputil.c:279: error: storage class specified for parameter 's_pword_str'
sysdeputil.c:281: error: storage class specified for parameter 'pam_conv_func'
sysdeputil.c:282: error: storage class specified for parameter 'vsf_auth_shutdown'
sysdeputil.c:288: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:383: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:398: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:436: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:474: error: storage class specified for parameter 'do_checkcap'
sysdeputil.c:478: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:497: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:514: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:527: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:604: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:641: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:796: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:803: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:809: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:856: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:889: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:930: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:935: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:976: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1012: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1128: error: storage class specified for parameter 's_uwtmp_inserted'
sysdeputil.c:1129: error: storage class specified for parameter 's_utent'
sysdeputil.c:1134: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1173: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1189: error: old-style parameter declarations in prototyped function definition
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:1189: error: expected '{' at end of input
make: *** [sysdeputil.o] Error 1
就需要打补丁了
不打补丁的跳过这步
=========================================
[root@v70.us vsftpd-2.0.4]#wget http://linuxfromscratch.org/pipermail/lfs-dev/attachments/20061019/fd9b9f56/attachment.bin
[root@v70.us vsftpd-2.0.4]#patch sysdeputil.c attachment.bin
====================================================
64位的话make 还会出错是找不到 /lib/libpam.so,这个需要更改文件vsf_findlibs.sh
把第15行(我的文件是15行)locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0";中的lib 改成 lib64
如locate_library /lib64/libpam.so.0 && echo "/lib64/libpam.so.0";
[root@v70.us vsftpd-2.0.4]#make &&make install
安装完成 最后如果出现man config无法安装不用管了
反正用的也是自己的配置
安装到这里就结束了
下面该是配置了
一般都是pam+db数据库吧 然后使用虚拟用户映射到本地用户
添加ftp 用户 useradd -d /data0/ftp -s /sbin/nologin vsftpd
mkdir /data0/ftp
chown /data0/ftp ftp
然后编写pam文件
如果是32位系统就用 example里面的就ok了
如下 vi / etc/pam.d/vsftpd.pam
auth required /lib/security/pam_userdb.so db=/etc/vsftp/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftp/vsftpd_login
如果是64位的加个64就ok了 如下
auth required /lib64/security/pam_userdb.so db=/etc/vsftp/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftp/vsftpd_login
这样pam就ok了
然后配置vsftp的配置文件
vsftp的配置目录在/etc/vsftp/
建议一个vsftpd.conf
vi /etc/vsftp/vsftpd.conf
必须写入
guest_username=ftp 这句是用户映射 使用ftp作为虚拟用户
pam_service_name=vsftpd.pam 这句是调用pma
其他的就按自己实际情况来写了
具体的看。。。
下面的是我自己用的 具体的先不解释了 最好别用我的 我的是如果不在user_list.ftp1加入用户名的话是不能登陆的
加了用户名后还要在/etc/vsftp/ftp1_userconf/ 建立一个是用户名的文件设置具体的权限
guest_enable=YES
pam_service_name=vsftpd.pam
anonymous_enable=NO
local_enable=YES
write_enable=no
local_umask=022
dirmessage_enable=YES
xferlog_enable=no
connect_from_port_20=YES
chroot_local_user=YES
guest_username=ftp
userlist_enable=YES
userlist_deny=no
userlist_file=/etc/vsftp/user_list.ftp1
listen=yes
listen_port=21
tcp_wrappers=no
virtual_use_local_privs=YES
chroot_local_user=YES
chroot_list_enable=yes
chroot_list_file=/etc/vsftp/chroot_list.ftp1
ascii_download_enable=yes
ascii_upload_enable=yes
pasv_max_port=6000
pasv_min_port=5000
user_config_dir=/etc/vsftp/ftp1_userconf/
ftpd_banner=welcome to coshim
用虚拟用的话还有建立db数据库下面开始建立db数据库
先安装
yum -y install db4 db4-utils
然后 进入目录/etc/vsftp/
cd /etc/vsftp/
添加用户名文件
单行为用户名,双行为密码,例如
#vi userpass
xuchen
12345
然后把文本转换成db4
# db_load -T -t hash -f userpass vsftpd_login.db
# chmod 600 vsftpd_login.db
这样配置就完成了
启动vsftpd /etc/vsftp/vsftpd.conf &就可以了
如果要自动启动就 vi /etc/rc.local
加入vsftpd /etc/vsftp/vsftpd.conf &就可以了
每台服务器的状况都不一样
本文只作为一个大致参考的文章
我也没有太认真的写,但是基本思路及做法肯定都是没问题的。有什么问题可以留言 我会帮你解决。
到加拿大快12天了,感触还是很多的。
加拿大要比国内安静许多,汽车都是给行人让道的,在他们的眼里人是高于一切的,或许说是人权。
这个让我这个在国内过马路很多次的人很是不适应,没到路口都给车让道。。。。害得汽车司机还得示意我先过。
加拿大的税很恶心 居然是强制性的12% 快赶上增值税了 平时中国人基本没有上税的意识 感觉很烦
本来一个 300加的笔记本很便宜 却要上36加的税。很。。。。。。
这边的福利和设施还是很人性化的,公车站居然是个玻璃蓬 ,公车每个路口都可以停车。而且还有专门的轮椅座位。。。
据说图书馆是免费开放 而且网络very nice 这也说明了 税率高的好处 把钱东用在了公共服务上了。
西方人有个特点 就是人权。讲究人人平等。 老师说如果你找别人你要事先询问他 是否愿意让你去照。 否则他可以去起诉你。
说道人权,我碰见了一个台湾人,跟我讲了很多 ,他的话某些很赞同 ,但是有有些不好。 他有些泛绿。对于台湾的政局我还是偏蓝。
所以对于他所说的还是有所保留。但肯定的一点是 中国的人权几乎=没有。
我可以说是一个人权运动者,我不谈政治,只谈人权与自由。
扯远了。
加拿大的吃的还算可以,食堂的饭很恶心 ,但是比81的饭菜好吃。
不够可以加,饮料天天供应 还有现乍的果汁。
不过有时候饭的确很,,,,,,,
最近也在不远处发现一个中国人开的超市 提供中餐盒饭 3菜 5.25加(税后) 合30+rmb 算是很便宜的了。
加拿大的kfc 也没有人们说的那么便宜 汉堡也是5加左右。 一顿下来也要10加
不过比起西餐厅就便宜很多了,西餐至少一顿要20加
穷人呀。。。。
住的地方一般 我的要就不高 不能 能住就ok 认识了很多人包括一个老黑在内 地毯头发 非常友善。
明天周五了 不是今天 放学以后就可以休息了~~~
刚刚到了Canada去学习,宿舍能上网,但是网络很强大的。
在中午时分,就是没人上网的时候,去中国网站下 office 07 速度到了2m/s 但是同时连https 的链接却是龟速。
ps 钢炼21集 72s 搞定,疯了。。。。。。。
同时不论是putty还是supercrt winscp 都连不上ssh 表现很卡很卡。。。。无语了
加拿大的网络很怪异 居然有二类保留地址 172.12。×。×
这类地址在国内很难见到
网关还对imcp做了过滤 导致ping无法使用。。。测试链接速度都不能测试。
加拿大的网络也是很神奇的。
我在美国的vps上面的socket5 上网也(http:80)速度飞快
一上wow https 居然卡的要死 。
不知道什么问题 我怀疑与 connect 连接有关 可能路由不支持 connect吧
那这也太恶心了吧。
出口宽带很满意 至少百兆的口。
我们公网ip:216.185.86.117