tar排除指定目录

假设 test目录下有 1 2 3 4 5 这5个目录
现在要将 3 4 5目录tar打包,1和2目录不要
命令如下:

tar -zcvf test.tar.gz --exclude=1 --exclude=2 test

tar -zcvf test.tar.gz --exclude=test/1 --exclude=test/2 test

看man tar帮助,--exclude后面跟的好像是正则

注意: 要打包的test必须在命令最后,不然没有效果.刚才郁闷了半天

自动将Apache Rewrite伪静态规则转换为Nginx Rewrite

以前介绍过Nginx的Rewrite配置这篇文章,今天无意间发现了,这个自动转换程序。

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

此地址里面的内容包含可以完成上面说的略做修改的功能。就是把.htaccess中的规则自动转换成nginx下面可用的规则。

监控宝 - VPS/服务器24小时免费监控

jiankongbao我们这些玩VPS,服务器怕什么,怕被封IP,No,IP被封再换,在USA IP白菜价,最怕VPS或者服务器无缘无故的当机,而且我们还不知道。因为咱们没法24小时守着VPS/服务器,监视VPS/服务器运行的状态。那么,就让监控宝24小时监控我们的VPS/服务器,而且还是免费的!

为什么选择监控宝?
  简单易用
  监控宝希望这一切都可以更加简单愉快
  数据分析
  丰富的数据报表,多维度的性能分析
  无需本地部署
  监控宝不会在你的服务器上安装任何专用程序
  减少运维开支
  节省本地部署运维系统的大量费用
  及时的故障报警
  灵活定制各种报警规则,让你运筹帷幄于千里之外
  优化支持
  监控宝将性能优化服务作为长期目标
  网址:http://www.jiankongbao.com
看张截图:

管理首页
jiankongbao-admin
 

添加服务器监控:

jiankongbao-add-server

添加VPS/服务器监控需要安装SNMP,安装方法可以参考:http://blog.jiankongbao.com/?p=160

PHPMyAdmin导入数据库时MySQL报错“Got a packet bigger than ‘max_allowed_packet’ bytes”

Licess‘s Blog从Godaddy导入数据到DiaHosting的时候出现无法导入的情况,系统提示为:

Got a packet bigger than 'max_allowed_packet' bytes
这个信息是提示导入的文件超出了mysql设置允许导入文件的最大值,需要修改'max_allowed_packet参数。

修改方法:
在/etc/my.cnf的[mysqld]部分修改一句话:
max_allowed_packet=10M
这样把最大值设置为10M。

重新启动数据库,就可以了。

Linux下dd命令生成一个指定大小的虚拟块设备文件

虚拟块设备文件更通用的名称是硬盘镜像文件(Hard Disk Image),但不是所有的硬盘镜像文件都是虚拟块设备文件,例如,目前Ghost的GHO格式的镜像文件就不能成为虚拟机中的硬盘。

Linux的dd命令,可以用于生成虚拟块设备文件。既可以用于创建空镜像文件,也可以用于创建物理硬盘的镜像。

# dd if=/dev/hda of=/mnt/nebula/hda_dd.image4757130+0 records in4757130+0 records out
上面这个命令将IDE设备/dev/hda的内容复制到/mnt/nebula/hda_dd.image文件。参数if告诉dd从哪个文件读取数据,参数 of告诉dd读出的数据写入哪个文件中。注意,对于dd来说,输入和输出都是文件,dd做的只是文件拷贝工作,这得益于Unix/Linux下面将设备也抽象为特殊的文件。

一般来说设备文件有两种,一种是块设备,一种是字符设备。块设备的特点是可以随机读写(Random Access),比如内存、硬盘等。字符设备的特点是顺序读写(Sequential Access),比如鼠标,键盘,麦克风等。

前面说了如何生成物理硬盘的镜像,如果想生成空镜像文件(本文的主要目的),还需要一个特殊的设备。/dev/zero是Linux提供的一个特殊的字符设备,它的特点是可以永远读该文件,每次读取的结果都是二进制0。下面的命令可以生成一个100M的空镜像文件:

dd if=/dev/zero of=100M.img bs=1M count=100

除了前面已经解释的of和if参数,这次又出现了bs和count参数。bs=1M表示每一次读写1M数据,count=100表示读写 100次,这样就指定了生成文件的大小为100M。bs参数还可以进一步细分为ibs和obs两种,为读操作与写操作分别指定不同的Buffer大小。

这样就生成100M的空镜像文件,问题是,如果要生成1G的虚拟块设备文件,就得占用1G的硬盘空间,而这个镜像文件完全是空的,是不是有一点浪费?好在Linux支持Sparse(稀疏)文件。请看下面的例子

# dd if=/dev/zero of=1G.img bs=1M seek=1000 count=0

# ls -l 1G.img
-rw-r-r- 1 root  root  1048576000 Mar 25 15:32 1G.img
# du -m 1G.img

这里用了一个新的命令seek,表示略过1000个Block不写(这里Block按照bs的定义是1M),count=0表示写入0个Block。用ls命令看新生成的文件,大小可以看出是1000M。但是再用du一看,实际占用硬盘大小只有1M。

Nginx打开目录浏览功能(autoindex)

Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件或你要启用目录浏览虚拟主机的配置文件,在server或location 段里添加上autoindex on;来启用目录流量,下面会分情况进行说明。

另外Nginx的目录流量有两个比较有用的参数,可以根据自己的需求添加:

autoindex_exact_size off;
默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间

1、整个虚拟主机开启目录流量

在server段添加

location / {
autoindex on;
autoindex_localtime on; #之类的参数写这里
}

2、单独目录开启目录流量
2.1:直接二级目录开启目录流量
location /down/ {
autoindex on;
}

2.2:虚拟目录开启目录流量
location /down/ {
alias /home/wwwroot/lnmp/test/;
autoindex on;
}

详细参照:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html

如果想希望做出漂亮的目录列表,支持header,footer则可以安装三方插件:
http://wiki.nginx.org/NginxNgxFancyIndex

重启nginx,使其生效。

ref:https://www.vpser.net/build/nginx-autoindex.html