Rails部署环境下使用lighttpd进程实时发送email比较耗时间,对于要求不太紧急的email,可以暂存在Email队列里,利用linux的crontab定时读取发送
1,加一张表email_queue:
class CreateEmailQueues < ActiveRecord::Migration
def self.up
create_table :email_queues do |t|
t.string :subject
t.text :content
t.string :recipient
t ...
#!/bin/sh
HTTPD_PID=`cat /tmp/hideto-lighttpd-9527.pid`
SUCCEED_FLAG="Syntax OK"
TEST_RESULT=`lighttpd -t -f /var/www/vhosts/hideto/conf/lighttpd/9527.conf`
echo $TEST_RESULT;
if [ "$TEST_RESULT" = "$SUCCEED_FLAG" ]; then
echo "Now stopping lighttpd at 9527...";
kill -INT $HTTPD_PID ...
编辑cron job信息:
crontab -e
每隔10分钟执行一次:
10 * * * * /home/hideto/test.sh
利用ps查看进程来防止进程重复启动:
RS=`ps aux|grep xxx_job|grep -v grep`
if ["$RS" = ""]; then
echo "No xxx_job instance, start a new one!"
ruby xxx_job.rb
else
echo "Already exists a xxx_job instance, exit!"
exit
fi
vi,grep,sed和awk是Unix/Linux下处理文本的最重要的工具,而它们都与正则表达式密不可分
Regular Expression Metacharacters
^ Beginning-of-line anchor
$ End-of-line anchor
. Matches one character
* Matches zero or more of the preceding characters
[] Matches one in the set
[x-y] Matche ...
C shell和TC shell效仿了C语言的预防,儿Bourne shell基于一门古老的编程语言Algol
Bash和Korn shell则综合了Bourne和C shell
Bash Shell语法和结构:
The shbang line
#!/bin/bash
Comment
# This is a comment
Wildcards
rm *; ls ??; cat file[1-3];
echo "How are you?"
Display output
echo "How are you?"
Local variables
vari ...
登录后shell启动并继承很多变量、I/O流,进程信息等等,fork的子shell则会继承父shell的环境和变量
id命令查看uid和gid
umask是权限补码,chmod是权限码
/etc/profile里指定了umask默认值022,这样对于新创建的文件夹则是777-022=755(drwxr-xr-x),对新创建的文件则是666-022=644(-rw-r--r--)
文件夹和文件权限分三组,从左至右分别是owner/group/others的权限
chmod命令用来改变文件夹和文件的权限
$ chmod 755 file
$ chmod g+w filw
$ chm ...
三大Unix shell
1,Bourne shell(AT&T shell, $)
2,C shell(Berkeley shell, %)
3,Korn shell(a superset of the Bourne shell, $)
几大Linux shell
Bash -- Linux default shell(The GNU Bourne Again shell, $)
TC shell(bundled with Solaris 8+, >)
Z shell
Public Domain Korn shell -- pdksh($)
看看Ubuntu下面支持哪些shell:
...
安装很简单
sudo apt-get install ssh
装完后自动启动ssh服务
在局域网路由器转发一下端口22就可以外网访问了
1,将BIOS里的硬盘格式设置为兼容格式
2,用安全图形模式安装
3,安装后update一下,选择中文语言支持
4,使用XP字体美化汉字
5,firefox字体太小
7.10对无线,显卡都支持的不错,声卡不支持
1,svn
sudo apt-get install subversion
引用添加用户和组:
1)* 在 Ubuntu 菜单上选择“系统->系统管理->用户和组”
* 切换到“组”标签
* 点击“添加组”按钮
* 组名为“subversion”
* 将自己(hideto)和“www-data”(Apache 用户)加入组成员中
* 点击“OK”以确认修改,关闭该程序
2)或者直接使用命令"sudo vi /etc/group",增加组和成员:
$ sudo vi /etc/group
结果看上去,像这样。
$ ca ...
vim类似于Eclipse,是一个可扩展插件的平台,看看rails.vim+NERD_TREE.vim+svncommand.vim+Gvim可以整出一套不错的Rails IDE
Gvim的安装和配置
我的新玩具 GVIM + Rails
记录一下Ubuntu下安装Subversio服务器:
一,安装Subversion
sudo apt-get install subversion
二,创建资源库
cd /home/hideto
svnadmin create repos
svnserve -d -r /home/hideto
三,修改用户名和密码
1,修改/home/hideto/repos/conf/svnserve.conf,把下面三行的注释去掉
anon-access = read
auth-access = write
password-db = passwd
2,修改/home/ ...
现在咱生活水平提高了,计算机硬件也上去了,所以ubuntu下装个VMware也用的起了。
本来可以用wine,但同事一致建议我装VMware,说wine有些兼容性怎么不好。
也罢。
下了个VMware Workstation 6.0 Beta for Linux包,同事有给我弄了个简版的Windows的iso包DEEPINXP.6.iso,上网搜了个序列号:
Windows Serial Number: A8HC7-1GGR0-E4PD4-4T694
Linux Serial Number: A8033-17FKN-F5640-48QTE
刚兴奋不久,想试试招行专业版,结果给我报了个 ...
习惯Subclipse的GUI用法可不好,我们不能变成只会用工具的弱智程序员。
1,安装Subversion
sudo apt-get install subversion
2,很好的中文参考使用Subversio进行版本控制,也有pdf版本的,可以慢慢看,边用边学。
尤其是Subversion命令行客户端svn这个命令要好好掌握。
svn子命令
svn add
svn blame
svn cat
svn checkout
svn cleanup
svn commit
...
公司用ubuntu的人不少,我深受影响,今天来装个beryl玩玩3D桌面,看看是是啥效果。
主要安装文档就是beryl的官方Wiki,我参考的安装文档主要就是Install Beryl on Ubuntu Edgy with nVidia这篇。
开始很轻松就装好了,结果高兴之余乱点Beryl管理器,把窗口管理器选成了Compiz,重启X
后一下就白屏了。白茫茫的雪阿。。。
想自己研究解决问题。
重装beryl,不行
重装nVidia驱动,不行
修改xorg.conf重启gdm,不行
downgrade beryl,不行
google一通,还是不行
最后估计是没有清除把窗口管理器选成了 ...
运行以下代码安装ruby的mysql库:
sudo gem install mysql
结果报以下错误:
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
ruby extconf.rb install mysql
extconf.rb:1:in `require': no ...
碰到只支持Windows驱动的无线网卡,只好求助ndiswrapper
1,安装ndiswrapper
sudo apt-get install ndiswrapper
2,载入ndiswrappper驱动
sudo ndiswrapper -i <driver.inf>
3, config the /etc/modules file, add follow lines
ieee80211_crypt_tkip
ieee80211_crypt_ccmp
ieee80211_crypt
ndiswrapper
4,config /etc/modprob ...
装好Ubuntu后系统不能自动识别1280x800的分辨率
同事说装个915resolution包就可以了
结果我装了后还是不行
运行:
sudo 915resolution 38 1280 800 24
报如下错误:
Intel 800/900 Series VBIOS Hack : version 0.5.2
NVIDIA chipset detected. 915resolution only works with Intel 800/900 series graphic chipsets.
原来915resolution只支持Intel系列的显卡,而我的本本是nVi ...
1,安装mysql
sudo apt-get install mysql-server
2,修改root密码
mysql –u root
set password for 'root'@'localhost' = password('new_password);
1,Ruby
sudo aptitude install ruby ri rdoc irb libyaml-ruby libzlib-ruby
2,RubyGems
去http://rubyforge.org/projects/rubygems/下载最新版的RubyGems
解压后运行以下命令安装即可:
sudo ruby setup.rb
3,Rails
用RubyGems安装Rails:
sudo gem install rails
.tar
解压: tar xvf FileName.tar
压缩:tar cvf FileName.tar DirName
.gz
解压:gunzip FileName.gz
压缩:gzip FileName
.tar.gz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩1: bzip2 -z FileName
压缩2: bzip2 FileName
.tar.bz2
解压:tar jxvf ...
1,nVidia
去http://www.nvidia.cn/下载NVIDIA-*.run,执行该文件即可。
2,amarok
都说amarok是Linux下最好的播放器,安装一个瞅一瞅.
apt-get install amarok amarok-engines
apt-get install libxine-extracodecs
不安装libxine-extracodecs包的话会播放不了mp3.
在经历了多个Linux发行版痛苦的使用经历后,在北京公司同事的介绍下接触了Ubuntu。
喜欢一样东西需要理由,是什么吸引我喜欢上了Ubuntu?
我觉得最重要的东西就是社区和文档,UbuntuChina上的Wiki文档十分丰富,不会说遇到什么问题解决不了的情况。真正让你用的放心,用的省心,用的贴心。
摘录一段UbuntuFAQ凑字数:
++++++++++++++++++++++++++++++++++++++
Ubuntu 是什么意思?
*
Ubuntu 是个非洲词,它被形容为“美到无法翻译”。Ubuntu 的精髓是“一个人通过他人的存在而存在”。它把人性描 ...
- 浏览: 612354 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
我的相册
screenshot
共 1 张
共 1 张
最近加入圈子
最新评论
-
深入了解Java ClassLoader ...
当我对字节码编译不知所措的时候,发现了这个帖子 谢谢楼主,目前正在学习ASM C ...
-- by ytzhsh -
Rails里如何结合Exceptio ...
收藏了,小工具,好东西.
-- by yangzhihuan -
使用coderay和railscasts ...
不错,很爽,如果能显示成textmate那样的就好了。
-- by carlosbdw -
Axis2快速上手指南
看得很累,希望楼主写个HelloWorld.谢谢
-- by zznj1123 -
使用coderay和railscasts ...
javaeye自己用的是什么highlight什么的吗?
-- by qichunren






评论排行榜