CentOS 7.0 配置mail定时发送svn日志邮件

公司搭建了svn服务器,现在的需求是需要每天定时给上司发送svn日志邮件,所以就一步一步来配置。

第一步: 配置mail发送邮件

查看mail是否安装

20151125092805

配置mail

在/etc/mail.rc中添加:

set from=账号 smtp=smtp.exmail.qq.com

set smtp-auth-user=用户名 smtp-auth-password=密码 smtp-auth=login

20151125092953

smtp配置设置

我这里采用了qq企业邮箱,就以这个为例。

20151125093441

 

测试mail是否能发送

echo 内容 | mail -s 标题 admin@jhonse.com

20151125093250

20151125093638

第二步: 获取svn版本日志

查看svn log 参数

20151125100332

查看当天的版本日志

svn log -r {DATE} -v

svn log -r {2015-11-25}:{2015-11-26} -v

20151125103447

SVN强制用户填写日志信息

在hook目录下添加pre-commit

REPOS=”$1″

TXN=”$2″

SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” |wc -c`

if [ “$LOGMSG” -lt 15 ];

then

echo “Log message can’t be empty! you must input more than 15 chars as comment!.” 1>&2

exit 1

fi2015112510380920151125103916

 

第三步: 设置定时任务

创建执行文件

#!/bin/sh

#send svn log mail

cd /***

/usr/bin/svn log -r {$(date -d last-day +%Y-%m-%d)}:{$(date +%Y-%m-%d)} -v | mail -s svnLog_$(date +%Y-%m-%d) admin@jhonse.com

20151125111619

创建任务

crontab -e

30 8 * * * . /usr/local/command/sendSvnLogMail.sh

20151125111705

查看任务

crontab -l20151125111822

 

此文为(Jhonse技术博客)原创内容,特此声明.

CentOS 7.0 升级OpenSSL

CentOS 7.0默认安装的openssl为OpenSSL 1.0.1e-fips 11 Feb 2013,而此版本有漏洞需要升级!

查看OpenSSL版本号

openssl version

20151121134434

 

从官网下载openssl源码包

20151121134537

上传openssl到服务器/usr/local/src

20151121135441

解压openssl

20151121135540

切换到openssl目录下,编译OpenSSL

cd  openssl-1.0.1p
./config shared zlib 
make && make install

20151121140958

 

20151121141038

修改历史的OpenSSL文件设置备份

mv /usr/bin/openssl /usr/bin/openssl.old 
mv /usr/include/openssl /usr/include/openssl.old

20151121141927

 

设置软连接使其使用新的OpenSSL版本 刚刚安装的OpenSSL默认安装在/usr/local/ssl

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

20151121142104

 

更新动态链接库数据

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf 
ldconfig -v

20151121142242

 

查看OpenSSL升级后的版本

openssl version

20151121142415

CentOS 7.0 安装zlib库

在CentOS 7.0中安装完pcre库之后,又接着提示缺少zlib库。所以接着来安装zlib库。

从zlib官网下载zlib源码

20151121130844

上传zlib源码到服务器的/usr/local/src

20151121115343

解压zlib文件

20151121121157

切换到zlib目录下,编译zlib

./configure    --prefix=/usr/local/zlib
make
make  install

20151121121427 20151121121555

 

更新动态链接库数据

echo "/usr/local/zlib/lib" >> /etc/ld.so.conf 
ldconfig -v

20151121131346

CentOS 7.0 安装pcre库

在虚拟机中部署了CentOS 7.0,而缺少pcre库(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。所以只好手动安装pcre库。

从官网下载pcre源码

20151121132116

上传到服务器的/usr/local/src目录下

20151121112504

解压pcre

20151121112731

切换到pcre目录下,进行编译

cd pcre-8.37
./configure --prefix=/usr/local/pcre-8.37 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
make && make install

20151121112929 20151121113031

 

查看对应的目录是否生成.

/usr/local/pcre-8.37
/usr/local/lib/pcre
/usr/local/include/pcre

20151121113200

 

更新动态链接库数据

echo "/usr/local/lib/pcre" >> /etc/ld.so.conf 
ldconfig -v