scp和rsync传输带宽限制
[ 2009/09/25 22:43 | by selboo ]
有些机房会限制机器的流量,为了不触及底线,在使用scp和rsync的时候都要注意。
为了避免你的scp或者rsync因为无良&懒惰的OPS设置防火墙的偷懒而造成的断流现象,我们必须对自己的数据传输进行一定的限流措施,慢一点总比被掐了的好。因此(限制为 1M Bytes/s):
scp -l 10000 data.rar root@64.71.167.20:/data/ #大约使用1M的带宽
rsync -av --bwlimit=1000 #大约使用1M的带宽
为了避免你的scp或者rsync因为无良&懒惰的OPS设置防火墙的偷懒而造成的断流现象,我们必须对自己的数据传输进行一定的限流措施,慢一点总比被掐了的好。因此(限制为 1M Bytes/s):
scp -l 10000 data.rar root@64.71.167.20:/data/ #大约使用1M的带宽
rsync -av --bwlimit=1000 #大约使用1M的带宽
exit signal Segmentation fault
[ 2009/09/15 21:12 | by selboo ]
访问apache web服务器时出现 空白页面
连phpinfo都不能显示
cat /usr/local/apache/logs/error_log
清空apache 日志
echo "">/usr/local/apache/logs/access_log
echo "">/usr/local/apache/logs/error_log
问题解决
连phpinfo都不能显示
<?
phpinfo();
?>
phpinfo();
?>
cat /usr/local/apache/logs/error_log
清空apache 日志
echo "">/usr/local/apache/logs/access_log
echo "">/usr/local/apache/logs/error_log
问题解决
Apache 支持中文路径(URL)
[ 2009/09/12 04:12 | by selboo ]
让Apache 支持中文路径(URL)
比如 http://selboo.com.cn/色萝卜.txt 使用IE可以读取到文件内容
环境:Apache/2.2.12 (Unix) 需要给Apache 增加模块
mod_encoding-20021209.tar.gz
mod_encoding.c-apache2.2-20060520.patch
mod_encoding.c.apache2.20040616
[root@localhost mod]# tar -zxvf mod_encoding-20021209.tar.gz
[root@localhost mod]# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
[root@localhost mod]# cd mod_encoding-20021209
[root@localhost mod_encoding-20021209]# patch -p0 < mod_encoding.c-apache2.2-20060520.patch
[root@localhost mod_encoding-20021209]# cd lib/
[root@localhost lib]# ./configure
[root@localhost lib]# make
[root@localhost lib]# make install
[root@localhost lib]# cd ..
[root@localhost mod_encoding-20021209]# cp ../mod_encoding.c-apache2.2-20060520.patch ./
[root@localhost mod_encoding-20021209]# patch -p0 < mod_encoding.c-apache2.2-20060520.patch
[root@localhost mod_encoding-20021209]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-iconv-hook=/usr/include
[root@localhost mod_encoding-20021209]# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
[root@localhost mod_encoding-20021209]# cp mod_encoding.so /usr/local/apache/modules/
修改 httpd.conf
比如 http://selboo.com.cn/色萝卜.txt 使用IE可以读取到文件内容
环境:Apache/2.2.12 (Unix) 需要给Apache 增加模块
mod_encoding-20021209.tar.gz
mod_encoding.c-apache2.2-20060520.patch
mod_encoding.c.apache2.20040616
下载文件 (已下载 307 次)
[root@localhost mod]# tar -zxvf mod_encoding-20021209.tar.gz
[root@localhost mod]# cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
[root@localhost mod]# cd mod_encoding-20021209
[root@localhost mod_encoding-20021209]# patch -p0 < mod_encoding.c-apache2.2-20060520.patch
[root@localhost mod_encoding-20021209]# cd lib/
[root@localhost lib]# ./configure
[root@localhost lib]# make
[root@localhost lib]# make install
[root@localhost lib]# cd ..
[root@localhost mod_encoding-20021209]# cp ../mod_encoding.c-apache2.2-20060520.patch ./
[root@localhost mod_encoding-20021209]# patch -p0 < mod_encoding.c-apache2.2-20060520.patch
[root@localhost mod_encoding-20021209]# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-iconv-hook=/usr/include
[root@localhost mod_encoding-20021209]# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
[root@localhost mod_encoding-20021209]# cp mod_encoding.so /usr/local/apache/modules/
修改 httpd.conf
LoadModule headers_module modules/mod_headers.so
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
</IfModule>
<IfModule mod_headers.c>
Header add MS-Author-Via "DAV"
</IfModule>
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
</IfModule>
找出空目录
find /path -depth -type d -empty
找字节为0的文件
find /path -depth -type f -empty
找出具体文件名的文件
find /path -name name_of_file
找出特定扩展名的文件
find /path -name "*.given_extension"
根据权限及指定扩展名寻找文件
find /path -name '*.txt' -perm 644
找出指定权限的文件
find /path -perm -permision_bits(权限位)
找出指定文件名(任意扩展名的文件)
find /path -name 'given_name.*'
find根据时间寻找
用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
各参数说明
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
更改时间在5日以内的文件
find /path -mtime -5
找出并删除文件
find /path -name "core.*" -type f -print | xargs /bin/rm -f
====================================================
find pathname -options [-print -exec -ok]
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command'{} \;,注意{}和\;之间的空格。
-ok和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
文件状态判断:
-mtime: 指定时间文件内容被修改过
-ctime: 指定时间文件权限被修改过
-atime: 指定时间文件被读取过
找出3天“以前”被修改过的文档
# find /var/log/ -mtime +3 -type f -print
找出3天“内”被修改过的文档
# find /var/log/ -mtime -3 -type f -print
找出第3天被修改过的文档.
# find /var/log/ -mtime 3 -type f -print
或这样写:
#find /var/log/ -mtime +2 -mtime -4 -type f -print
注:
访问过用amin,修改过用mmin,文件状态改变过用cmin
精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime
找出指定扩展名后修改扩展名
find /path -type f | xargs rename .baksh ".sh"
find /path -depth -type d -empty
找字节为0的文件
find /path -depth -type f -empty
找出具体文件名的文件
find /path -name name_of_file
找出特定扩展名的文件
find /path -name "*.given_extension"
根据权限及指定扩展名寻找文件
find /path -name '*.txt' -perm 644
找出指定权限的文件
find /path -perm -permision_bits(权限位)
找出指定文件名(任意扩展名的文件)
find /path -name 'given_name.*'
find根据时间寻找
用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
各参数说明
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
更改时间在5日以内的文件
find /path -mtime -5
找出并删除文件
find /path -name "core.*" -type f -print | xargs /bin/rm -f
====================================================
find pathname -options [-print -exec -ok]
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command'{} \;,注意{}和\;之间的空格。
-ok和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
文件状态判断:
-mtime: 指定时间文件内容被修改过
-ctime: 指定时间文件权限被修改过
-atime: 指定时间文件被读取过
找出3天“以前”被修改过的文档
# find /var/log/ -mtime +3 -type f -print
找出3天“内”被修改过的文档
# find /var/log/ -mtime -3 -type f -print
找出第3天被修改过的文档.
# find /var/log/ -mtime 3 -type f -print
或这样写:
#find /var/log/ -mtime +2 -mtime -4 -type f -print
注:
访问过用amin,修改过用mmin,文件状态改变过用cmin
精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime
找出指定扩展名后修改扩展名
find /path -type f | xargs rename .baksh ".sh"
Linux /proc优化
[ 2009/09/04 14:29 | by selboo ]
一、/proc/sys/kernel/优化
1) /proc/sys/kernel/ctrl-alt-del
该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应.这两个值分别是:
零(0)值,表示捕获ctrl+alt+delete,并将其送至 init 程序;这将允许系统可以安全地关闭和重启,就好象输入shutdown命令一样.
壹(1)值,表示不捕获ctrl+alt+delete,将执行非正常的关闭,就好象直接关闭电源一样.
缺省设置:0
建议设置:1,防止意外按下ctrl+alt+delete导致系统非正常重启.
2) proc/sys/kernel/msgmax
该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes).进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量.
缺省设置:8192
3) /proc/sys/kernel/msgmnb
该文件指定一个消息队列的最大长度(bytes).
缺省设置:16384
4) /proc/sys/kernel/msgmni
该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列.
缺省设置:16
5) /proc/sys/kernel/panic
该文件表示如果发生“内核严重错误(kernel panic)”,则内核在重新引导之前等待的时间(以秒为单位).
零(0)秒,表示在发生内核严重错误时将禁止自动重新引导.
缺省设置:0
6) proc/sys/kernel/shmall
该文件表示在任何给定时刻,系统上可以使用的共享内存的总量(bytes).
缺省设置:2097152
7) /proc/sys/kernel/shmmax
该文件表示内核所允许的最大共享内存段的大小(bytes).
缺省设置:33554432
建议设置:物理内存 * 50%
实际可用最大共享内存段大小=shmmax * 98%,其中大约2%用于共享内存结构.
可以通过设置shmmax,然后执行ipcs -l来验证.
8) /proc/sys/kernel/shmmni
该文件表示用于整个系统的共享内存段的最大数目(个).
缺省设置:4096
9) /proc/sys/kernel/threads-max
该文件表示内核所能使用的线程的最大数目.
缺省设置:2048
10) /proc/sys/kernel/sem
该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法.
建议设置:250 32000 100 128
第一列,表示每个信号集中的最大信号量数目.
第二列,表示系统范围内的最大信号量总数目.
第三列,表示每个信号发生时的最大系统操作数目.
第四列,表示系统范围内的最大信号集总数目.
所以,(第一列)*(第四列)=(第二列)
以上设置,可以通过执行ipcs -l来验证.
11) 待续...
1) /proc/sys/kernel/ctrl-alt-del
该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应.这两个值分别是:
零(0)值,表示捕获ctrl+alt+delete,并将其送至 init 程序;这将允许系统可以安全地关闭和重启,就好象输入shutdown命令一样.
壹(1)值,表示不捕获ctrl+alt+delete,将执行非正常的关闭,就好象直接关闭电源一样.
缺省设置:0
建议设置:1,防止意外按下ctrl+alt+delete导致系统非正常重启.
2) proc/sys/kernel/msgmax
该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes).进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量.
缺省设置:8192
3) /proc/sys/kernel/msgmnb
该文件指定一个消息队列的最大长度(bytes).
缺省设置:16384
4) /proc/sys/kernel/msgmni
该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列.
缺省设置:16
5) /proc/sys/kernel/panic
该文件表示如果发生“内核严重错误(kernel panic)”,则内核在重新引导之前等待的时间(以秒为单位).
零(0)秒,表示在发生内核严重错误时将禁止自动重新引导.
缺省设置:0
6) proc/sys/kernel/shmall
该文件表示在任何给定时刻,系统上可以使用的共享内存的总量(bytes).
缺省设置:2097152
7) /proc/sys/kernel/shmmax
该文件表示内核所允许的最大共享内存段的大小(bytes).
缺省设置:33554432
建议设置:物理内存 * 50%
实际可用最大共享内存段大小=shmmax * 98%,其中大约2%用于共享内存结构.
可以通过设置shmmax,然后执行ipcs -l来验证.
8) /proc/sys/kernel/shmmni
该文件表示用于整个系统的共享内存段的最大数目(个).
缺省设置:4096
9) /proc/sys/kernel/threads-max
该文件表示内核所能使用的线程的最大数目.
缺省设置:2048
10) /proc/sys/kernel/sem
该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法.
建议设置:250 32000 100 128
第一列,表示每个信号集中的最大信号量数目.
第二列,表示系统范围内的最大信号量总数目.
第三列,表示每个信号发生时的最大系统操作数目.
第四列,表示系统范围内的最大信号集总数目.
所以,(第一列)*(第四列)=(第二列)
以上设置,可以通过执行ipcs -l来验证.
11) 待续...