这里介绍一个可以上传文件到dropbox的脚本。不用安装,直接运行即可把文件上传到dropbox。
脚本地址:https://github.com/andreafabrizi/Dropbox-Uploader
也可以在本站直接下载:dropbox_uploader.sh
脚本使用方法:
语法:./dropbox_uploader.sh [OPTIONS]…
选项:-u [USERNAME] dropbox用户
-p [PASSWORD] dropbox密码
-f [FILE/FOLDER] 待上传的文件
-d [REMOTE_FOLDER] dropbox的目录,默认是 “/”
-v 返回详细进程模式
例子:
./dropbox_uploader.sh -u [email protected] -f /etc/passwd -v
./dropbox_uploader.sh -u [email protected] -f /var/backup/ -v
也可以在dropbox_uploader.sh文件填写好用户和密码,之后运行脚本时就不用再定义用户和密码。
月份:2012年2月
使用AWStats分析Nginx和Apache日志
AWStats简介
Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:
一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:纺客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)
下面我们来在CentOS配置AWStats来分析Nginx和Apache日志。
AWStats安装
- cd /tmp
- wget http://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz
- tar xzf awstats-7.0.tar.gz
- mv awstats-7.0 /usr/local/awstats
- cd /usr/local/awstats/tools
- mkdir /etc/awstats /var/lib/awstats
AWStats配置
执行awstats_configure.pl脚本进行配置。
- perl awstats_configure.pl
配置过程如下:
Config file path (‘none’ to skip web server setup):
none
—–> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
—–> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> devops.webres.wang
—–> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> 回车
接着需要编辑配置文件awstats.devops.webres.wang.conf。
- vi /etc/awstats/awstats.devops.webres.wang.conf
只需要定义日志的路径,如:
- LogFile="/home/centos/log/access.log"
复制css和icon目录到网站根目录。
- cp -R /usr/local/awstats/wwwroot/css /home/www/default
- cp -R /usr/local/awstats/wwwroot/icon /home/www/default
手动执行命令更新日志统计数据库及生成静态文件到目录/home/www/default/awstats:
- /usr/local/awstats/tools/awstats_buildstaticpages.pl -config=devops.webres.wang -update -lang=cn -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -dir=/home/www/default/awstats
之后你就可以使用http://ip或域名/awstats/awstats.devops.webres.wang.html访问日志统计页面。
添加脚本awstats_buildstaticpages.pl到cron定时生成日志统计页面。
- crontab -e
- 58 23 * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -config=devops.webres.wang -update -lang=cn -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -dir=/home/www/default/awstats
awstats_buildstaticpages.pl脚本使用说明:
语法:awstats_buildstaticpages.pl (awstats_options) [awstatsbuildstaticpages_options]
awstats_options可选参数为:
-config=configvalue:定义配置文件,如devops.webres.wang,就会搜索/etc/awstats/awstats.devops.webres.wang.conf文件。
-update :该选项定义生成静态页面之前先更新数据库。
-lang :统计页面的语言,如-lang=cn,语言为中文。
awstatsbuildstaticpages_options可选参数为:
-awstatsprog=pathtoawstatspl :定义awstats.pl路径。
-dir :定义输出静态页面的目录。
参考:http://awstats.sourceforge.net/docs/awstats_setup.html
pils.c:245: error: initialization from incompatible pointer type
编译cluster glue时出现:
- cc1: warnings being treated as errors
- pils.c:244: error: initialization from incompatible pointer type
- pils.c:245: error: initialization from incompatible pointer type
- make[2]: *** [pils.lo] Error 1
- make[2]: se sale del directorio
- `/usr/src/Heartbeat-STABLE-2-1-STABLE-2.1.4/lib/pils’
- make[1]: *** [all-recursive] Error 1
- make[1]: se sale del directorio
- `/usr/src/Heartbeat-STABLE-2-1-STABLE-2.1.4/lib’
- make: *** [all-recursive] Error 1
错误。
解决方法:
打开文件lib/pils/Makefile,删除文件里的-Werror字符。
CentOS编译安装Heartbeat
安装cluster glue
安装heartbeat之前需要安装glue。
- yum install autoconf automake libtool glib2-devel libxml2-devel bzip2-devel e2fsprogs-devel libxslt-devel
- groupadd haclient
- useradd -g haclient hacluster
- cd /tmp
- wget http://hg.linux-ha.org/glue/archive/glue-1.0.9.tar.bz2
- tar xjf glue-1.0.9.tar.bz2
- cd Reusable-Cluster-Components-glue–glue-1.0.9
- ./autogen.sh
- ./configure –prefix=/usr/local/heartbeat
- make && make install
安装Resource Agents
- cd /tmp
- wget –no-check-certificate https://github.com/ClusterLabs/resource-agents/tarball/v3.9.2
- tar xzf v3.9.2
- cd ClusterLabs-resource-agents-b735277/
- ./autogen.sh
- export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
- ./configure –prefix=/usr/local/heartbeat
- ln -s /usr/local/heartbeat/lib/* /lib/
- make && make install
安装Heartbeat
- cd /tmp
- wget http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/7e3a82377fa8.tar.bz2
- tar xjf 7e3a82377fa8.tar.bz2
- cd Heartbeat-3-0-7e3a82377fa8/
- ./bootstrap
- export CFLAGS="$CFLAGS -I/usr/local/heartbeat/include -L/usr/local/heartbeat/lib"
- ./configure –prefix=/usr/local/heartbeat
- make && make install
- cp doc/ha.cf /usr/local/heartbeat/etc/ha.d/
- cp doc/haresources /usr/local/heartbeat/etc/ha.d/
- cp doc/authkeys /usr/local/heartbeat/etc/ha.d/
- cp heartbeat/init.d/heartbeat /etc/rc.d/init.d/
- chkconfig –add heartbeat
- chkconfig heartbeat on
- chmod 600 /usr/local/heartbeat/etc/ha.d/authkeys
- sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/etc/ha.d/shellfuncs
- sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/usr/lib/ocf/lib//heartbeat/ocf-shellfuncs
- sed -i ‘s#/usr/lib/ocf#/usr/local/heartbeat/usr/lib/ocf#g’ /usr/local/heartbeat/etc/ha.d/resource.d//hto-mapfuncs
除错
1、错误:glue_config.h:99:1: error: “HA_HBCONF_DIR” redefined
解决方法:http://devops.webres.wang/2012/02/glue_config-h991-error-ha_hbconf_dir-redefined/
2、错误configure.ac:9: error: Autoconf version 2.63 or higher is required
解决方法:http://devops.webres.wang/2012/03/configure-ac9-error-autoconf-version-2-63-or-higher-is-required/
3、错误configure.ac:63: require Automake 1.10.1, but have 1.9.6
解决方法:http://devops.webres.wang/2012/03/configure-ac63-require-automake-1-10-1-but-have-1-9-6/
–xinclude: Command not found
编译heartbeat时出现–xinclude: Command not found错误,这时由于缺少libxslt-devel包。安装好后,重新./configure再make即可。
- yum install libxslt-devel
- make clean
- ./configure
- make && make install
glue_config.h:99:1: error: “HA_HBCONF_DIR” redefined
编译Heartbeat时出现,glue_config.h:99:1: error: “HA_HBCONF_DIR” redefined。这是由于glue和heartbeat的版本不兼容的问题。
解决方法:
删除/usr/local/heartbeat/include/heartbeat/glue_config.h的最后一行:#define HA_HBCONF_DIR “/usr/local/heartbeat/etc/ha.d/”
./.libs/libplumb.so: undefined reference to
编译Cluster Glue时发生如下错误:
- ./.libs/libplumb.so: undefined reference to `uuid_parse’
- ./.libs/libplumb.so: undefined reference to `uuid_generate’
- ./.libs/libplumb.so: undefined reference to `uuid_copy’
- ./.libs/libplumb.so: undefined reference to `uuid_is_null’
- ./.libs/libplumb.so: undefined reference to `uuid_unparse’
- ./.libs/libplumb.so: undefined reference to `uuid_clear’
- ./.libs/libplumb.so: undefined reference to `uuid_compare’
- collect2: ld returned 1 exit status
解决方法:
- yum install e2fsprogs-devel
- make clean
- ./configure
- make && make install
BZ2 Libraries Not Found
有时编译软件会出错这个错误,centos的只要yum安装bzip2-devel即可。
- yum install bzip2-devel
使用Nagios监控服务器状态,http,磁盘使用率等信息
上次我们介绍了Nagios的安装,这次主要是学习使用Nagios来监控公共服务,如http,ssh,ftp,smtp等服务的状态,以及当前负载,磁盘使用情况等。
Nagios服务器监控的定义都是需要通过配置文件来实现,Nagios的主配置文件是/usr/local/nagios/etc/nagios.cfg。通过上次的安装,nagios已经配置localhost的几个监控服务,配置文件在/usr/local/nagios/etc/objects/localhost.cfg,我们可以参考这个配置文件来配置监控其它主机。
下面我们通过一个监控主机devops.webres.wang的实例来说明如何使用Nagios。
1、我们需要在nagios.cfg配置文件定义devops.webres.wang的配置文件位置。
- vi /usr/local/nagios/etc/nagios.cfg
添加:
- cfg_file=/usr/local/nagios/etc/objects/devops.webres.wang.cfg
2、创建配置文件devops.webres.wang.cfg,定义host。
- vi /usr/local/nagios/etc/objects/devops.webres.wang.cfg
添加如下代码定义一个主机host。
- define host{
- use linux-server
- host_name devops.webres.wang
- alias devops.webres.wang
- address 8.8.8.8
- }
3、定义监控服务。
上一步定义了监控的主机,下面开始定义需要监控的服务,我们这里添加监控的服务有三个:ping,http,disk。
ping服务定义:
- define service{
- use local-service ; Name of service template to use
- host_name devops.webres.wang
- service_description PING
- check_command check_ping!100.0,20%!500.0,60%
- }
磁盘监控服务定义:
- define service{
- use local-service ; Name of service template to use
- host_name devops.webres.wang
- service_description Root Partition
- check_command check_local_disk!20%!10%!/
- }
http状态服务定义:
- define service{
- use local-service ; Name of service template to use
- host_name devops.webres.wang
- service_description HTTP
- check_command check_http
- }
4、检查配置文件并重启nagios。
检查配置文件:
- /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
没有错误之后重启nagios:
- service nagios restart
参考:http://nagios.sourceforge.net/docs/nagioscore/3/en/monitoring-publicservices.html
CentOS安装Nagios网络监视工具
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。下面学习如何在CentOS上安装此软件。
安装完成后的一些情况
准备工作
需要以root身份安装Nagios。
确保在CentOS安装了下面几个软件包:
你可以通过yum完成这些安装工作:
- yum install httpd httpd-devel php openssl-devel make gcc glibc glibc-common gd gd-devel mailx
开始安装Nagios
创建帐号
创建 nagios用户:
- /usr/sbin/useradd -m nagios
创建nagcmd用户组以执行来自web接口的命令,并添加nagios和apache用户到此用户组。
- /usr/sbin/groupadd nagcmd
- /usr/sbin/usermod -a -G nagcmd nagios
- /usr/sbin/usermod -a -G nagcmd apache
下载Nagios和插件
创建下载存储目录:
- mkdir ~/downloads
- cd ~/downloads
从网站http://www.nagios.org/download/下载Nagios以及插件。
- wget http://superb-dca2.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.0/nagios-4.0.0.tar.gz
- wget http://softlayer-dal.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
编译安装Nagios
- cd ~/downloads
- tar xzf nagios-4.0.0.tar.gz
- cd nagios
运行Nagios配置脚本,并把nagcmd更改为之前所创建的组。
- ./configure –with-command-group=nagcmd
编译源码:
- make all
安装二进制,init脚本,sample配置文件和设置外部命令目录权限。
- make install
- make install-init
- make install-config
- make install-commandmode
不要现在执行nagios,下面还有一些需要配置。
定制配置
样式配置文件已经安装在/usr/local/nagios/etc目录,你仅仅需要更改email地址。
- vi /usr/local/nagios/etc/objects/contacts.cfg
配置web接口
安装Nagios Web配置文件在Apache的conf.d目录:
- make install-webconf
为登录Nagios Web接口创建nagiosadmin帐号。记住下面你设置的密码,之后登录用到。
- htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重启Apache使新配置生效。
- service httpd restart
编译安装Nagios插件
- cd ~/downloads
- tar xzf nagios-plugins-1.4.16.tar.gz
- cd nagios-plugins-1.4.16
- ./configure –with-nagios-user=nagios –with-nagios-group=nagios
- make && make install
启动Nagios
设置开机启动:
- chkconfig –add nagios
- chkconfig nagios on
测试配置文件是否有错误:
- /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果没有,立即启动Nagios
- service nagios start
登录Nagios
安装已经完成,你可以使用nagiosadmin用户以及之前设置的密码通过http://localhost/nagios/地址登录Nagios后台。下次学习Nagios的使用。
参考:http://nagios.sourceforge.net/docs/nagioscore/3/en/quickstart-fedora.html