Linux系统、windows系统、Uinx系统等。
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`
$ 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`
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
########################################
#
######################################
# 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`
####################################
#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
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
RHCE视频教程 - 台湾培亚(转)
Written by ray on 2008/01/08 09:38
同事推荐的RHCE视频教程,听说比上海文华教的好,而且价格还便宜(6000台币),网上有下载地址。
也许今年也该去考一个了。
也许今年也该去考一个了。
引用
中文名称:RHCE教程,内附RHEL 4 DVD
英文名称:Red Hat Certified Engineering
发行时间:2004年
地区:大陆
语言:普通话
简介:
适用于Linux的新使用者,他们希望了解并掌握基本知识,以顺利使用他们自己的Red Hat Linux系统。完成此课程后,Red Hat Linux使用者可高效率地使用及自订Red Hat系统,并执行常见的指令行处理与各种桌面工作。
课程目标:
于bash shell指令行执行Linux命令
于指令行和GNOME接口执行程序
使用和定做X window窗口系统和GNOME桌面环境
使用GNOME GUI执行通用任务
了解Linux文件系统
执行普通文件维护任务
了解和维护文件权限
从软盘拷贝档案
使用vi编辑器打开、编辑和保存文本文件
使用规则匹配
过滤器处理文本
使用打印指令和公用程序
了解和使用电子邮件和相关应用
连接过程和文件使用标准输入/输出和管道
英文名称:Red Hat Certified Engineering
发行时间:2004年
地区:大陆
语言:普通话
简介:
适用于Linux的新使用者,他们希望了解并掌握基本知识,以顺利使用他们自己的Red Hat Linux系统。完成此课程后,Red Hat Linux使用者可高效率地使用及自订Red Hat系统,并执行常见的指令行处理与各种桌面工作。
课程目标:
于bash shell指令行执行Linux命令
于指令行和GNOME接口执行程序
使用和定做X window窗口系统和GNOME桌面环境
使用GNOME GUI执行通用任务
了解Linux文件系统
执行普通文件维护任务
了解和维护文件权限
从软盘拷贝档案
使用vi编辑器打开、编辑和保存文本文件
使用规则匹配
过滤器处理文本
使用打印指令和公用程序
了解和使用电子邮件和相关应用
连接过程和文件使用标准输入/输出和管道





