可可熊的窝

Category Archives: Linux

代码高亮插件–使用黑色背景

IN:Linux   Tags: ,    Comments:2

ig_syntax_hilite这个代码高亮的插件默认使用的是白色背景,所以小林子同学说看不清楚代码,俺就试着把ig_syntax_hilite插件所有颜色代码全部反转了一下,例如:
#ffffff黑色转换为#000000

ig_syntax_hilite使用的是geshe,在geshe目录下有很多与语言相关的php加亮文件,颜色代码就在这里生成,使用sed命令进行替换:

代码一

代码二

上面的代码不是俺写的,具体可以查看CU论坛
俺什么时候也能把sed用到这种境界也就满足了:-)

上面简单的一句话脚本还是很有用的,上次俺花了一天的时间去修改主题的配色,其实如果要求不高的话用这脚本一下就搞定了:-)

update:08-12-31
还得把一个颜色表示为单词的也换一下:

sed -i ‘s/black/white/g’ *

11-21
2008

GRUB问题

IN:Linux   Tags:    Comments:9

昨天在机子上试着装了下RHEL 5.2(在新的分区安装sda3),重新安装了GRUB(安装到了MBR),结果机子上原来的Fedora 9(在sda4分区上)不能启动了,GRUB会提示错误:

setup (hd0,3)
Checking if “/boot/grub/stage1″ exists… no
Checking if “/grub/stage1″ exists… no

最后在RHEL 5.2中我把原来Fedora 9分区下/boot/grub/中的所有文件拷到了RHEL 5.2中的/boot/grub/,结果就正常了。不太理解为什么重新安装了GRUB,就无法引导原来的Fedora 9了。

11-11
2008

Fedora 9 通过E680G/I手机实现GPRS上网

IN:Linux   Tags: , , ,    Comments:5

电脑通过E680G/I手机实现GPRS上网

E680是一款摩托的Linux系统手机,在Windows下可以通过自带的MPT工具包实现与电脑连接的GPRS上网,在Linux下也是比较方便的,以前我也用过,只是没记下来,今天再用的时候还得看别人写的文章,还是自己记一下。

我用的是Fedora 9,一般的Linux系统都应该可以,大同小异。首先是手机端设置连接模式为调制解调器(Modem),通过数据线连接到电脑后(也可以用蓝牙,我这里没有环境),Fedora 9会识别到有新的调制解调器:

发现新硬件:

它对应的设备就是/dev/ttyACM0。接下来用wvdial这个拨号工具,如果没有这个包的话请自行安装,wvdial有一个配置文件/etc/wvdial.conf,(使用root进行下面的操作)编辑这个文件,:

添加以下内容:

如果已经有Dialer Defaults这一块则覆盖之。这里要注意使用的是cmnet,最好是手机包月不分cmnet和cmwap那种的,不然收费是很贵的。修改完该文件后还需要对/etc/ppp/options文件进行修改,添加一行:
:192.168.0.254
这个修改比较奇怪,E680系列的Linux手机都需要这样:-(,不然用wvdial拨号时会在/var/log/messages中产生下面的错误:

错误信息:

修改完这个文件后就可以开始拨号了,直接使用wvdial命令:

拨号信息:

从上面的信息中可以看出我们成功的拨号上网了,不过这时候我们还需要手动把192.168.0.254添加为默认路由:

route add default gw 192.168.0.254

ping一个google:

Ping结果:

好大的延时,还有丢包,没办法了中国移动的GPRS就这样了,EDGE在西安只有部分地区覆盖了,而且E680手机是不支持的!

终于上来了,搬到新租的房子后还没拉网线,只能先这样了。

羡慕王聪同学的3G上网啊@_@

10-16
2008

处理了下网站

IN:Linux   Tags: , ,    Comments:4

改了info域名后网站以前里很多页面里有cocobear.cn,连一些图片也显示不出来,今天就处理了一下:

把网站里一些文件做替换,先备份一下:
grep cocobear.cn ./cocobear.info/ -R -l –binary-files=without-match|xargs -i cp –parents {} bk/

然后全部替换:
grep cocobear.cn ./cocobear.info/ -R -l –binary-files=without-match | xargs sed -i ‘s/cocobear\.cn[^@]/cocobear\.info/g’

剩下就是数据库里的内容了,主要是wp_posts表中的post_content字段,还有guid字段,还有wp_comments中的comment_author_url,wp_postmeta中的meta_value;
操作的命令是:
mysql> update wp_posts set post_content=replace(post_content,”http://www.cocobear.cn”,”http://cocobear.info”);

当然在进行数据库操作时一定要记得先备份一下:
mysqldump -h mysql.1g50.cn -u cocobear -p cocobear > 0808151.sql

使用 mysqldump -h mysql.1g50.cn -u cocobear -p cocobear < 0808151.sql恢复似乎不太好,还是进mysql里使用source ~/0808151.sql进行恢复。

08-15
2008

crontab使用[转载]

IN:Linux   Tags: ,    Comments:3

名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.

M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.

来自:http://h1yn.itpub.net/post/2084/222108

08-14
2008

Fedora 8配置Heartbeat

IN:Linux   Tags: , ,    Comments:3

Heartbeat是http://linux-ha.org中HA项目的核心,HA是(High Availability)的缩写;简单来说就是为了提供高可靠的应用服务,例如拿两来机子来做HA,提供WEB服务,一台机子为主服务器平时提供WEB服务,HA就是保证在主服务器出现故障(例如掉电)的时候另一台机子可以立刻接手继续提供WEB服务,从而使用户觉得服务未曾中断;实际应用中可能使用更多的机子组成集群。

Heartbeat可以使用串口或者以太网来实现对主机的监测,这里使用的是以太网,在两台机器上分别配双网卡,用一根双绞线把两台机器连接在一起,另外两个网卡连到路由;配置是:

f801(主机名;使用这台作为主服务器):
eth0: 192.168.1.110
eth1: 10.0.0.1

f802:
eth1: 192.168.1.111
eth2: 10.0.0.2

网络配置好后测试无误后再检查两台机器上的WEB服务是否可以正常使用;一切都正常后使用yum安装Heartbeat:

yum install heartbeat

安装好heartbeat后开始配置,三个主要配置文件都在: /usr/share/doc/heartbeat-2.1.3/下面,需要我们手工修改后拷贝到/etc/ha.d/中(两台服务器使用的脚本基本一样)。

编辑authkeys文件,下面的配置使用了sha1作为认证方式(这里需要注意的是该文件的权限必须被设置为600):

auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!

编辑ha.cf,注释下掉以下内容:

keepalive 1 ##设定心跳(监测)时间时间为1秒
warntime 10 ##设定警告时间
deadtime 30 ##设定确定主机宕机时间
initdead 120 ##第一宕机时间
ucast eth1 10.0.0.2 ##使用eht1做心跳监测 也就是连接两PC的网卡
udpport 694 ##使用udp端口694 进行心跳监测
node f801 ##节点1,必须要与 uname -n得到的结果一致。
node f802 ##节点2
第二台服务器由于网卡是eth(192.*)1,eth2(10.*),所以相应的配置文件中ucast 需要使用eth2。

编辑haresources,添加以下内容:

f801 192.168.1.118 httpd
表示主服务器使用192.168.1.118作为WEB服务的IP,f801为主服务器。

配置好后在主服务器上启动Heartbeat:
service heartbeat start
出错的话一般是配置文件的问题,根据提示修改就可以了;Heartbeat会自动根据haresource配置文件启动相应的服务程序。
然后在另一个台器上启动Heartbeat;

完成后可以使用tcpdump来测试两台机器间的心跳:

[root@f801 ~]# tcpdump -i eth0 -p udp port 694
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:43:46.431448 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 219
11:43:46.433968 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216
11:43:47.431456 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216
11:43:48.432516 IP ha01.filenet-nch > ha02.ha-cluster: UDP, length 216

如果这里出问题的话很有可能是防火墙的问题,或者是配置文件里ucast里的设置,需要仔细检查。
最后就可以做测试,关闭主服务器,根据配置文件里的响应时间(),服务器f802会接管主服务器的任务。

参考文章:

http://www.bitscn.com/linux/network_manage/200805/140501_3.html

http://www.xxlinux.com/linux/article/network/app/20070329/8009.html

08-07
2008
Page 2 of 101234510...Last »
loading...