分类目录归档:LINUX

crontab执行后邮件发到指定邮箱

原来在crontab配置文件/etc/crontab中MAILTO设置成自己的gmail邮箱,但是迟迟没有收到邮件,登陆上去一看邮件还是发到了/var/spool/mail/root内。后来网上查了下,原来我的crontab命令是在crontab -e中定义的,而/etc/crontab中的MAILTO只适用于/etc/crontab中执行的脚本或命令。

所以要在crontab -e中添加指定的邮箱:

crontab -e

在第一行加入:

MAILTO=example@gmail.com #自己的外部邮箱地址

如果没有装邮件服务器的要先安装一下:

yum install sendmail sendmail-cf m4

参考资料:
http://www.cyberciti.biz/faq/linux-unix-crontab-change-mailto-settings/

CentOS VPS安装Fail2ban

Fail2ban是用于防止主机口令被暴力破解的一个Linux系统下的工具。我在VPS上用lastb命令看了下,只见屏幕刷了好长时间,一直有人在扫弱口令,把IP一个个手工添加到iptables阻止连接ssh太麻烦,用这个工具自动过滤。

1、CentOS安装Fail2ban要先安装EPEL源:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install fail2ban

2、fail2ban基本的工作原理
fail2ban → 监视相应的log → 连续出现多次错误信息 → 封锁IP(使用iptables)→ 根据设定间隔时间,自动清除iptables规则。fail2ban的配置文件在/etc/fail2ban目录内。

/etc/fail2ban/fail2ban.conf fail2ban本身设置
/etc/fail2ban/jail.conf fail2ban全局设置
/etc/fail2ban/filter.d/ 内为fail2ban的正则表达式过滤规则
/etc/fail2ban/action.d/ 内为fail2ban触发后行动的脚本
继续阅读CentOS VPS安装Fail2ban

crontab使用进程锁解决冲突

想到一个问题,如果在crontab里有个定时任务设置为一分钟执行一次,但是它执行的时间可能会超过一分钟,此时crontab一分钟后会再次运行该脚本吗?这样会不会出现冲突呢?网上找了下,说可以用Linux中的进程锁控制crontab执行的并发问题。

给一个shell脚本加锁,使用flock命令。

一般格式:
flock [-sxun][-w #] fd#
flock [-sxon][-w #] file [-c] command…
继续阅读crontab使用进程锁解决冲突

CentOS Linux安装crontab

crontab是Linux系统下的定时运行程序,非常有用,一般系统都自带。这里系统是CentOS5.7。

如果没有的话要先安装:

yum install vixie-cron crontabs

1、crontab用法
一般格式:
crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

常用选项:
-u :指定使用的用户。
-e :编辑该用户的定时任务。
-l :列出该用户的定时任务。
-r :删除该用户的定时任务。
-i :删除该用户定时任务时给予提示。
-s :附加SELinux security context string控制访问。
继续阅读CentOS Linux安装crontab

网页开启Gzip

网页Gzip压缩是指在web server上将页面压缩后传输到客户端的浏览器,由浏览器解压缩(目前主流浏览器都支持),这样可以节约网页传输的时间和流量,但是会增加服务器的负载。使用的环境是CentOS+Apache+PHP。

一、使用php的内置函数ob_gzhandler()

二、直接在web server上开启(压缩php)
开启后就不用php内置函数来压缩了,php不允许gzip以后再次gzip。

1、php要支持zlib组件,需要在php.ini中设置

vim /etc/php.ini

找到:

zlib.output_compression = Off
;zlib.output_compression_level = -1

修改为:

zlib.output_compression = On
zlib.output_compression_level = 6
继续阅读网页开启Gzip

CentOS Linux第三方yum源

CentOS除了官方的软件源外,还有很多知名的第三方yum源,如前文说的RPMForge,官网上对第三方源也有说明:http://wiki.centos.org/AdditionalResources/Repositories/

安装一个EPEL源,EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。这里系统是CentOS5.7。

1、首先同样要安装yum-priorities插件,具体操作可参考上上一篇。

2、下载安装EPEL的rpm包
i386系统:

rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

x86_64系统:

rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

PS:好像这两个软件包是一样的。

http://fedoraproject.org/wiki/EPEL/FAQ#howtouse
继续阅读CentOS Linux第三方yum源

CentOS Linux VPS安装Fluxbox桌面

Fluxbox是一个轻量级的图形桌面环境,它的用户界面仅有一个任务栏与右键弹出式菜单。

首先参考前一篇文章添加RPMForge源:http://www.live-in.org/archives/998.html。添加了RPMForge源之后,就可以直接用yum方式安装了。

一、安装软件包

yum install vnc-server xorg-x11* fluxbox xterm firefox flash-plugin

二、配置vnc服务
1.编辑/etc/sysconfig/vncservers:

vim /etc/sysconfig/vncservers

将最后两行的#去掉,修改如下:

VNCSERVERS="1:root" # display port and username
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"

说明:1是显示端口,root是用户名,下面一行配置屏幕分辨率、使用TCP连接等,vncservers里有相关注释。 继续阅读CentOS Linux VPS安装Fluxbox桌面

CentOS Linux安装RPMForge源

RPMForge是CentOS系统下的软件仓库,拥有10000多种的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓库。默认的CentOS源,软件太少了,可以添加额外的RpmForge。这里系统为CentOS5.7。

1、安装yum-priorities插件
因为要添加第三方源,先确认系统是否安装了yum-priorities这个插件,这个插件用来保证安装软件时候软件仓库先后次序(priority优先权),一般是默认先从官方base或者镜像安装,然后从社区用户contribute的软件中安装,再从第三方软件仓库中安装。当然这个次序可以自己更改,为了安全和稳定还是依照这个次序吧。

yum install yum-priorities

2、查看/etc/yum/pluginconf.d/priorities.conf文件

vim /etc/yum/pluginconf.d/priorities.conf
继续阅读CentOS Linux安装RPMForge源

Linux标准输入/输出

在Linux中执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

标准输入(stdin)的文件代码为0,标准输出(stdout)的文件代码为1,标准错误(stderr)的文件代码为2。Linux的一大特点就是标准输入/输出可以重定向。

一、输出重定向
输出重定向是指把命令(或可执行程序)的标准输出或标准错误重新定向到指定文件中。使用 > 符号。

举例:
1、
# echo “hellohello” > 1.txt
此时屏幕上无任何输出,当前目录下生成1.txt文件内容就是echo输出的语句。
继续阅读Linux标准输入/输出

一个SSH连接工具-PieTTY

介绍:PuTTY 是個小巧方便的 Telnet/SSH 安全遠端連線程式, 但用於非英語系文字時有非常多的問題, 而且它對於初學者來說過於複雜的使用界面也為人詬病已久。 PieTTY 則是源自於 PuTTY ,修正與完整支援亞洲等多國語系字元、 並在使用界面上大幅改進、易學易用的版本。

官网:http://ntu.csie.org/~piaip/pietty/

PS:PieTTY是PuTTY的增强版。建议使用PieTTY 0.4.00b14 (beta-14)这个版本。