Welcome to Ray's Blog

老瓶装新酒

Written by ray on 2008/11/08 12:43
丢失已久的Blog终于恢复了,其实就是钱的问题,还有也比较忙……现在有点时间啦,也会陆续更新Blog的。并且增加了点广告smoke

本站网址: www.allenzheng.com

Linux Shell 技巧收集

Written by ray on 2008/04/08 13:26
引用
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名


从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名


从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

linux sed 批量替换多个文件中的字符串

sed -i "s/oldstring/newstring/g" `grep oldstring -rl dir`
Tags: ,

ftp备份上传脚本【转】

Written by ray on 2008/03/12 10:39
一个常用的FTP备份上传脚本
#!/bin/bash
#
######################################
# Purpost: Auto backup file by ftp
# Author: Kook.liu , E-Mail ( qsblj AT yahoo DOT com)
# From: LinuxFans
######################################
# Below use ftp
######################################
#filename=$1

# backup file
DBNameA=bugfree_`date +%Y-%m-%d`.sql
DBNameB=mantis_`date +%Y-%m-%d`.sql
DBNameC=timelog_db_`date +%Y-%m-%d`.sql
DBNameD=testlink_`date +%Y-%m-%d`.sql
DBNameE=ks_com_`date +%Y-%m-%d`.ldif


# backup locate
DBAPath=$HOME/backup/bugfree
DBBPath=$HOME/backup/mantis
DBCPath=$HOME/backup/timelog
DBDPath=$HOME/backup/testlink
DBEPath=$HOME/backup/ldap

# svn path
#svn_path=$HOME/Database

#backup mysql fund_db
mysqldump -ubugfree -pdb_bugfree BugFree > "$DBAPath/$DBNameA"
mysqldump -umantis -pdb_mantis mantis > "$DBBPath/$DBNameB"
mysqldump -utimelog -pdb_timelog timelog_db > "$DBCPath/$DBNameC"
mysqldump -utestlink -pdb_testlink TestLink > "$DBDPath/$DBNameD"
/usr/sbin/slapcat -f /etc/ldap/slapd.conf -b "dc=ksthiz,dc=com" > "$DBEPath/$DBNameE"

# svn sync
#cp $backup_path/$mysqlbak_name $svn_path
#cd $svn_path
#svn add $mysqlbak_name
#svn ci -m "add mysql.sql update everyday"
#cd $BackPath

# up backup file
ftp -nv << !
open 192.168.101.250
user backup backup
binary
cd mysql
put $DBNameA
put $DBNameB
put $DBNameC
put $DBNameD
put $DBNameE
close
bye
#
exit 0
!# del package_name
rm $package_name -f
########################################

一个简单的网络监控shell

Written by ray on 2008/02/27 16:09
一个简单监控网络的脚本,思路是定时抓取ping的数值,然后通过html显示出来,方便领导查看,呵呵文件1:NetMon.sh
#!/bin/bash
####################################
#Purpose: Network Monitoring
#Author: Allen.Zheng,E-Mail XXXXXXX
#Date: 2007/12/19
####################################
#
####################################
pwd="/home/ray/NetMoni"
tmp="/var/www/html/index.html"
ks=222.xxx
ksmail=222.xxx
baidu=www.baidu.com
taobao=www.yahoo.cn
yahoo=www.yahoo.com
nba=www.nba.com
date=`date +%D`
time=`date +%R`
tmpvar=`tail -n 1 $tmp`
/bin/sed -i '$d' $tmp

#echo "##########$ks###########$d##########" >> $tmp

/bin/ping $ks -c 3 > $pwd/temp_ks
ks_time=`/bin/sed -n '/icmp/p' $pwd/temp_ks |awk -F"=" '{print $4}'| tail -1`

#echo -e "\n##########$ksmail##########" >> $tmp
/bin/ping $ksmail -c 3 > $pwd/temp_ksmail
ksmail_time=`/bin/sed -n '/icmp/p' $pwd/temp_ksmail |awk -F"=" '{print $4}'| tail -1`

邮件服务器Postfix+LDAP验证--FAQ

Written by ray on 2008/01/10 14:03
最近在搭建邮件服务器,其包括Postfix, Amavisd-new, ClamAV, ExtMail 和ExtMan, Courier系列软件,数据库用的是LDAP。搭建方法具体网上也有介绍,也就重复了,这里只是遇到的一些问题和解决方案,给遇到相同问题的人一些参考。
FAQ
1.authldap.so 模块在courier-authlib-ldap包里,这个包在EMOS的iso里有
2.10024端口是amavisd端口
3.原来是在main.cf文件中myhostname与mydomain不能一样,要不然
虚拟域和main.cf中设的域名一样就会出现问题:
myhostname = xxx.com.cn
mydomain = xxxx.com.cn
修改如下:
myhostname = mail.xxx.com.cn
mydomain = xxxx.com.cn

4.authldap: TEMPFAIL - no more modules will be tried
5.authldaplib: refuse to authenticate abc@glfsoft.com: uid=0, gid=0 (zero uid or gid not permitted)
文本格式问题,字段前面不要用空格,uid gid 用数字(如:1000)
authmysqlrc authldaprc
注意:确认在这个文件中不能用空格键,只能用tab键。
确认只使用单引号,比如:'/var/mailbox/','UID','GID'
localhost不能用单引号
确认你的/etc/hosts文件中有localhost
编译时如果支持Ipv6可能导致错误
MYSQL_GID_FIELD 和MYSQL_UID_FIELD是maildrop的UID和GID,而不是MySQL的。
如果想使用md5密码,把MYSQL_CLEAR_PWFIELD password改成MYSQL_CRYPT_PWFIELD password
Tags: , ,
分页: 1/5 第一页 1 2 3 4 5 下页 最后页 [ 显示模式: 摘要 | 列表 ]