RHCSA系列:Yum软件包管理,使用Cron和监视系统日志的自动化任务 - 第10部分

在这篇文章中,我们将回顾一下如何安装,更新,并在红帽企业Linux 7删除软件包。我们也将讨论如何任务使用cron的自动化,并完成本指南,说明如何定位和解释系统记录为重点的文件教你为什么所有这些都是每个系统管理员的基本技能。

RHCSA:Yum软件包管理,Cron作业计划和日志监视 - 第10部分

通过Yum管理包

要安装包及其所有尚未安装的依赖项,您将使用:

# yum -y install package_name(s)

其中package_name(S)表示至少有一个真正的包名。

例如,要安装httpd的mlocate(按顺序),类型。

# yum -y install httpd mlocate

注意 :在上面的例子中,字母y绕过确认提示该荫执行所请求的节目的实际下载和安装之前呈现。 你可以离开它,如果你想要的。

默认情况下, Yum将与相匹配的OS架构,除非通过附加组件架构,它的名字覆盖了建筑安装软件包。

例如,在64位系统上, Yum安装包将安装包的版本x86_64的 ,而Yum安装package.x86(如果可用)将安装32位之一。

有时你想安装一个包,但不知道它的确切名称。 搜索全部搜索选项可以搜索当前启用的库针对特定关键字的包名称和/或在其描述中也分别。

例如,

# yum search log

将在安装的存储库中搜索包含名称和摘要中包含单词log的包

# yum search all log

将查找在包的描述和URL字段相同的关键字为好。

一旦搜索返回包列表,您可能需要在安装之前显示有关其中一些的其他信息。 这是当信息选项会派上用场:

# yum info logwatch

搜索软件包信息

您可以使用以下命令定期检查更新:

# yum check-update

上述命令将返回所有已安装的更新可用的软件包。 在下面的图像中示出的例子中,只有RHEL -7-服务器的rpm具有可用的更新:

检查软件包更新

然后,您可以单独更新该包,

# yum update rhel-7-server-rpms

如果有可更新几个包, Yum更新将同时更新所有的人。

现在,当你知道一个可执行文件的名称,如PS2PDF,但不知道哪个包提供了它会发生什么? 你可以找到与yum whatprovides “*/[executable]”

# yum whatprovides “*/ps2pdf”

查找包属于哪个包

现在,当涉及到删除包,可以使用yum删除包这样做。 容易,是吗? 这表明yum是一个完整和强大的包管理器。

# yum remove httpd

另请阅读: 20Yum命令管理RHEL 7软件包管理

好老平原RPM

RPM(又名RPM软件包管理器 ,或原本的RedHat包管理器 )也可以当他们在独立的形式用于安装或更新程序包.rpm包。

它往往是与利用-Uvh标志,以表明,如果它不存在,应该安装包或尝试更新它,如果它的安装(-U)产生一个详细输出(-v)和哈希标记的进度条(-h)而被执行的操作。 例如,

# rpm -Uvh package.rpm

另一个典型的用rpm的是产生代码当前已安装的软件包列表>转-qa(简称查询全部):

# rpm -qa

查询所有RPM包

另请阅读: 20 RPM命令在RHEL 7安装包

使用Cron调度任务

Linux和其他类Unix操作系统,包括一个名为cron的工具,它允许你安排任务(即命令或shell脚本),以定期运行。 克龙检查每分钟这是在/ etc / passwd中账户命名的文件在/ var /线轴/ cron目录。

当执行命令时,任何输出邮寄到crontab(或在/ etc / crontab中MAILTO环境变量中指定,如果它存在的用户)的所有者。

crontab文件(这是通过键入crontab -e命令 然后按Enter创建)的格式如下:

Crontab条目

因此,如果我们要更新本地文件数据库(它是用于查找发现的名称或图案的文件)在凌晨2:15每个月的第二天,我们需要添加下面的crontab条目:

15 02 2 * * /bin/updatedb

以上crontab条目写道:“ 上月,当月每一年的,不管星期几,在凌晨2:15的第二天运行/斌/数据库更新 ”。 我相信你已经猜到了,星符号被用作通配符。

添加一个cron作业后,你可以看到这是在/ var /线轴/ cron的内部添加了一个名为根文件,正如我们前面提到的。 该文件列出了所有的crond的守护进程运行的任务:

# ls -l /var/spool/cron

检查所有Cron作业

在上图中,可以用猫的/ var /线轴/ cron的/ root或显示当前用户的crontab要么,

# crontab -l

如果您需要以更细粒度的方式运行任务(例如,每天两次或每月三次),cron也可以帮助您这样做。

例如,要在每月的1日和15日运行/ 我的/脚本和发送任何输出到/ dev / null,则可以添加两个crontab项如下:

01 00 1 * * /myscript > /dev/null 2>&1
01 00 15 * * /my/script > /dev/null 2>&1

但是为了使任务更容易维护,您可以将这两个条目组合成一个:

01 00 1,15 * *  /my/script > /dev/null 2>&1

按照前面的例子,我们可以在1:30上午每三个月每月的第一天运行/我的/其它/脚本

30 01 1 1,4,7,10 * /my/other/script > /dev/null 2>&1

但是,当必须重复一个特定的任务每“X”分钟,小时,天或月,你可以将通过希望的频率的位置上。 下面的crontab条目的确切含义与前一个相同的:

30 01 1 */3 * /my/other/script > /dev/null 2>&1

或者,您可能需要在固定频率或系统启动后运行某个作业,例如。 您可以使用以下字符串之一而不是五个字段来指示希望作业运行的确切时间:

@reboot    	Run when the system boots.
@yearly    	Run once a year, same as 00 00 1 1 *.
@monthly   	Run once a month, same as 00 00 1 * *.
@weekly    	Run once a week, same as 00 00 * * 0.
@daily     	Run once a day, same as 00 00 * * *.
@hourly    	Run once an hour, same as 00 * * * *.

另请阅读: 11命令附表Cron作业在RHEL 7

定位和检查日志

系统日志的位置(和旋转)在/ var / log目录中。 根据Linux文件系统层次结构标准,这个目录包含杂项日志文件,这是由系统操作过程中相应的守护程序写入它还是一个合适的目录(如审计 ,httpd的 ,还是Samba如下图):

# ls /var/log

linux日志文件位置

其他有趣的日志在dmesg (包含内核环缓冲区的所有消息),安全(登录需要用户认证的连接尝试),信息(系统范围的消息)和wtmp(所有用户登录和注销记录)。

日志是非常重要的,因为它们允许您查看系统中始终存在的情况以及过去发生的情况。 他们代表了无价的工具来解决和监控一台Linux服务器,因此往往与使用tail -f command来显示事件,实时,因为它们发生并记录在日志中。

例如,如果你想显示内核相关的事件,请键入以下命令:

# tail -f /var/log/dmesg

如果您想要查看您的网络服务器的访问权限,请执行以下操作:

# tail -f /var/log/httpd/access.log

概要

如果你知道如何有效地管理包,安排任务,以及在哪里寻找有关你当前和过去的系统操作的信息,你可以放心,你不会经常遇到惊喜。 我希望这篇文章帮助你学习或刷新你对这些基本技能的知识。

如果您有任何问题或意见,请随时使用下面的联系表格给我们留言。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏