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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.0怎么配置mail定时发送svn日志邮件相关的知识,希望对你有一定的参考价值。

参考技术A 公司搭建了svn服务器,现在的需求是需要每天定时给上司发送svn日志邮件,所以就一步一步来配置。
第一步: 配置mail发送邮件
1、查看mail是否安装

2、配置mail,在/etc/mail.rc中添加:
复制内容到剪贴板
set from=账号 smtp=smtp.exmail.qq.com

set smtp-auth-user=用户名

smtp-auth-password=密码 smtp-auth=login

3、smtp配置设置,我这里采用了qq企业邮箱,就以这个为例。

4、测试mail是否能发送,echo 内容 | mail -s 标题 admin@jhonse.com

第二步: 获取svn版本日志
1、查看svn log 参数

2、查看当天的版本日志
复制内容到剪贴板
svn log -r DATE -v

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

3、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

fi

第三步: 设置定时任务
1、创建执行文件
复制内容到剪贴板
#!/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

2、创建任务
复制内容到剪贴板
crontab -e

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

3、查看任务
crontab -l

centos7与centos6的区别

CentOS 7 vs CentOS 6的不同
(1)桌面系统
[CentOS6] GNOME 2.x
[CentOS7] GNOME 3.x(GNOME Shell)

(2)文件系统
[CentOS6] ext4
[CentOS7] xfs

(3)内核版本
[CentOS6] 2.6.x-x
[CentOS7] 3.10.x-x

(4)启动加载器
[CentOS6] GRUB Legacy (+efibootmgr)
[CentOS7] GRUB2

(5)防火墙
[CentOS6] iptables
[CentOS7] firewalld

(6)默认数据库
[CentOS6] MySQL
[CentOS7] MariaDB

(7)文件结构
[CentOS6] /bin, /sbin, /lib, and /lib64在/下
[CentOS7] /bin, /sbin, /lib, and /lib64移到/usr下

(8)主机名
[CentOS6] /etc/sysconfig/network
[CentOS7] /etc/hostname

(9)时间同步
[CentOS6]
$ ntp
$ ntpq -p

[CentOS7]
$ chrony
$ chronyc sources

(10)修改时间
[CentOS6]
$ vim /etc/sysconfig/clock
ZONE=”Asia/Tokyo”
UTC=fales
$ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

[CentOS7]
$ timedatectl set-timezone Asia/Tokyo
$ timedatectl status

(11)修改地区
[CentOS6]
$ vim /etc/sysconfig/i18n
LANG=”ja_JP.utf8″
$ /etc/sysconfig/i18n
$ locale

[CentOS7]
$ localectl set-locale LANG=ja_JP.utf8
$ localectl status

(12)服务相关

1)启动停止
[CentOS6]
$ service service_name start
$ service service_name stop
$ service sshd restart/status/reload

[CentOS7]
$ systemctl start service_name
$ systemctl stop service_name
$ systemctl restart/status/reload sshd

自启动
[CentOS6]
$ chkconfig service_name on/off

[CentOS7]
$ systemctl enable service_name
$ systemctl disable service_name

服务一览
[CentOS6]
$ chkconfig –list

[CentOS7]
$ systemctl list-unit-files
$ systemctl –type service

强制停止
[CentOS6]
$ kill -9 <PID>

[CentOS7]
$ systemctl kill –signal=9 sshd

(13)网络

1)网络信息
[CentOS6]
$ netstat
$ netstat -I
$ netstat -n

[CentOS7]
$ ip n
$ ip -s l
$ ss

2)IP地址MAC地址
[CentOS6]
$ ifconfig -a

[CentOS7]
$ ip address show

3)路由
[CentOS6]
$ route -n
$ route -A inet6 -n

[CentOS7]
$ ip route show
$ ip -6 route show

(14)重启关闭

1)关闭
[CentOS6]
$ shutdown -h now

[CentOS7]
$ poweroff
$ systemctl poweroff

2)重启
[CentOS6]
$ reboot
$ shutdown -r now

[CentOS7]
$ reboot
$ systemctl reboot

3)单用户模式
[CentOS6]
$ init S

[CentOS7]
$ systemctl rescue

4)启动模式
[CentOS6]
[GUI?CUI]
$ vim /etc/inittab
id:3:initdefault:
[CUI?GUI]
$ startx

[CentOS7]
[GUI?CUI]
$ systemctl isolate multi-user.target
[CUI?GUI]
$systemctl isolate graphical.target
默认
$ systemctl set-default graphical.target
$ systemctl set-default multi-user.target
当前
$ systemctl get-default

参考:

https://urashita.com/archives/1538
http://qiita.com/sion_cojp/items/115e1671fcbc8f214aee
https://www.upken.jp/kb/cent6-cent7.html
http://inaba-serverdesign.jp/blog/20141110/centos7.html

以上是关于CentOS 7.0怎么配置mail定时发送svn日志邮件的主要内容,如果未能解决你的问题,请参考以下文章

Linux(CentOS 7.0)下使用yum安装配置和使用svn.

CentOS 7.0 配置SVN服务

CentOS 7.0版本下安装SVN服务端示例

Centos 配置mailx使用外部smtp发送邮件

如何在CentOS 7.0上配置Ceph存储

centos7 利用mailx发送邮件