centos 例行性工作转发外部邮箱

跟着鸟哥的《私房菜》学习LINUX的例行性工作这一章,需要配置/etc/crontab文件来进行自动化调度,实验过程中如果某一项工作执行结果有输出或者是报错时默认都会向root管理员发送一封邮件。当时就在考虑要是直接给自己常用的163或者其他的邮箱可能更方便解决问题,接下来就着手解决这个问题。

从网上找了好多资料,多数都在说需要配置smtp服务器或者需要安装sendmail什么的软件来解决向外发送邮件的问题,其中有篇介绍比较实用(接触的不多,或许对我目前来说比较实用),不需要安装第三方的程序,直接配置/etc/mail.rc这个文件smtp配置为网易的smtp.163.com即可,接下来是相关配置:

vim /etc/mail.rc
#在最后添加
set from="此处填写你的邮件地址"    
smtp=smtp.163.com
set smtp-auth-user="邮箱用户名" smtp-auth-password="邮箱密码"    smtp-auth=login

配置完毕进行crontab配置

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
[email protected]    #测试邮箱替换为自己的邮箱即可
#MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
 */2 *  *  *  * root run-parts  /root/runcron >> /root/cron/log/crontab.log

在讲解脚本那一章有一个自动ping某个网段主机网络状态的脚本,这次把他拿来放到root下面新建一个runcron文件夹中,这个文件夹用来在某个时间点,通过crontab调用执行其中的shell脚本。run-parts就是这个命令的作用就是讲后面接的目录内的所有文件找出来执行,如果只是需要执行一条脚本或命令时,将run-parts 替换为相应的脚本名即可,后面的文件夹也去掉。因为此次试验只是在运行出现错误的时候才会去发送邮件,所以将程序执行成功的输出重定向到/root/cron/log/crontab.log这个文件中。

下边是执行后的效果,在测试中故意将log文件夹写错从而无法将输出结果写入crontab.log而报错并将错误信息以邮件形式发送到填写的邮箱当中去。

时间: 2024-10-08 22:59:06

centos 例行性工作转发外部邮箱的相关文章

第十六章、例行性工作排程 (crontab)

1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作 2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: /etc/at.deny 2.2 实际运行单一工作排程: at, atq & atrm, batch 3. 循环运行的例行性工作排程 3.1 使用者的配置: /etc/cron.deny, crontab 3.2 系统的配置档: /etc/crontab 3.3 一些注意事项 4. 可唤醒停机期

chapter16:例行性工作(crontab)之二:循环执行的例行性工作调度

循环执行的例行性工作调度是由cron(crond)这个系统服务来控制的,这个服务是系统默认启动的.Linux也提供用户控制例行性工作调度的命令crontab. 一.用户设置 为了安全起见,我们可以限制能够使用crontab的用户.同at类似,用两个文件进行设置,/etc/cron.allow,/etc/cron.deny. 当用户使用crontab这个命令的来新建工作调度后,工作就会被记录到/var/spool/cron里面.而且是以帐号来作为判别的.如chuiyuan在使用这个从后,工作会记录

chapter16:例行性工作(crontab)之一:什么是例行性工作与实际运行单一工作调度

一.什么是工作高度各类:at,cron Linux中,有两种工作高度功能, (1)at:可以处理只执行一次就结束的命令,不过要执行at时,要有atd的支持,CentOS中是自带的. (2)crontab:设置的工作将会一直循环进行下去,crontab除了可以使用命令行执行外,还可以修改/etc/crontab来支持.让crontab生效的服务则是crond这个服务. 那么LINUX中有那些例行性工作呢? 进行日志文件轮替(log rotate) 日志分析logwatch的任务 新建locate的

Linux例行性工作排程 (crontab)

crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是要求你的调度程序比较可靠,实际工作中,90%的程序都没有必要花这么多时间和精力去解决上面的两个问题的,只需要写好自己的业务逻辑,通过crond这个工业级程序去调度就行了,crond的可靠性,健壮性,是毫无疑问的. 使用者的配置 使用者想要创建循环型工作排程

例行性工作排程 (crontab)

1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: /etc/at.deny 2.2 实际运行单一工作排程: at, atq & atrm, batch3. 循环运行的例行性工作排程 3.1 使用者的配置: /etc/cron.deny, crontab 3.2 系统的配置档: /etc/crontab 3.3 一些注意事项4. 可唤醒停机期间的工

例行性工作调度at、cron、anacron

例行性工作:系统在某个时间点会自动进行的工作 只执行一次就结束调度:at,服务为atd 循环执行的工作调度:crontab,服务为crond 常见例行性工作 日志轮替(log rotate) 日志分析(log watch) 更新数据库 删除临时文件(tmpwatch) 网络有关服务检查 at:执行一次的工作调度  1:生成工作的流程 at命令生成要运行的工作 将工作以文本形式写入/var/spool/at目录 等待atd服务取用执行 2:at工作调度规则 /etc/at.allow:写在这文件中

例行性工作 排程(crontab)

一,什么是例行性工作排程? 计划任务:比如每天,每周,每月,每年或者指定时间需要执行的工作任务 1,Linux工作排程的种类:at,cron a)at :at 处理仅执行一次任务,依赖于atd服务 b)crontab :crontab处理循环的任务, 可循环的时间为分钟.小时.每周.每月或每年等. crontab 除了可以使用指令执行外,也可以编辑 /etc/crontab 来支持. 依赖于crond服务 2,Linux上常见的例行性工作 (1)进行 登录记录的轮询(log rotate) (2

例行性工作(crontab)

例行性工作使用的是crontab这个命令来进行工作,根据设置将会循环下去,循环的时间从秒到年 crontab的工作调度是由服务crond来控制 1.用户的限制 /etc/cron.deny 将不可以使用crontab的账号写入其中,若未记录,则可以使用crontab 2.当用户使用crontab这个命令来新建工作调度之后,调度内容被记录到/var/spool/cron/里面的账号来识别 3.crontab 语法 crontab   -u username  [-l] [-e]  [-r] -e编

linux例行性工作排程

1.例行性排程有两中方式: 1)每隔一定周期就要来办的事项,用crontab指令实现 2)突发性的,就是这次做完后,就没有了用at指令实现,不过这个需要atd服务的支持 2.linux常见的例行性任务有: 1)进行登录档的轮替:linux会将系统所发生的各种信息都记录下来,这就是登录档,随着系统的运行这些登录档会越来越大,导致系统读写效能下降,因此就需要将这些数据按时间的新旧分别存放,这就是登录档的轮替任务 2)登录文件分析:如果系统发生了软件问题,硬件错误,资源安全问题等,绝大部分的错误都会被