我和linux的第三十二天

这几天学习的东西是有关系统运维方面的,比前面简单些。加油。

linux系统的例行性工作

两种工作调度方式:

一种是例行行的,就是每隔一定的周期要来办的事;

一种是突发性的,就是一次完成后就没有第二次。

linux中常见的例行性工作:

进行日志文件的轮替(log rotate);

日志文件分析logwatch的任务;

新建locate的数据库;

whatis数据库的建立;

RPM软件日志文件的新建;

删除临时文件;

与网络服务有关的分析行为。

仅执行一次的工作调度:at

启用atd:/etc/init.d/atd restart 开机时就启用:chkconfig atd on

at的运行方式:使用at命令来生产所要运行的工作,并将这个工作以文本文件的方式写入/etc/spool/at/目录内,该工作便能等待atd这个服务的取用与执行了。

at工作流程:

1.先寻找/etc/at.allow这个文件,卸载这个文件中的用户才能使用at,没有在这个文件中的用户则不能使用at(即使没有写在at.deny中);

2.如果/etc/at.allow不存在,就寻找/etc/at.deny这个文件,若写在这个at.deny的用户则不能使用at,而没有在这个at.deny文件中的用户就可以使用at;

3.如果两个文件都不存在,那么只有root可以使用at这个命令。

at [参数] TIME,-m当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成、-l相当于atq,列出目前系统上面的所有该用户的at调度、-d相当于atrm,可以取消一个在at调度中的工作、-c可以列出后面接的该项工作的实际命令内容。

batch:系统有空时才进行的后台任务。它会在CPU工作负载小于0.8的时候,菜进行你所执行的工作任务。batch操作与at相同。

循环执行的例行性工作调度:crontab,系统默认启用。

/etc/cron.allow:将可以使用crontab的账号写入其中,若不在这个文件内的用户则不可以用crontab;

/etc/cron.deny:将不可以使用crontab的账号写入其中,若未记录到这个文件当中的用户,就可以使用crontab。

/etc/cron.allow比/etc/cron.deny优先执行,判断上面,这两个文件只选择一个来限制,一般来说,系统默认保留/etc/cron.deny。当用户使用crontab这个命令来新建工作调度之后,该项工作就会被记录到/var/spool/cron/里面,而且是以账号来作为判别的。

crontab [参数],-u只有root才能进行这个任务,帮其他用户新建/删除crontab工作调度、-e编辑crontab的工作内容、-l查阅crontab的工作内容、-r删除所有的crontab的工作内容。

crontab -e;

012***mail xeyes -s “at 12:00” < /hone/xeyes/.bashrc

分时日月周命令串

系统的例行性工作在文件/etc/crontab中,cron这个服务的最低检测限制是“分钟”,所以会每分钟读取一次/etc/crontab与/var/spool/cron里面的数据。

唤醒停机期间的工作任务:anacron

anacron并不是用来替代crontab的,anacron存在目的是处理非24小时一直启动的linux系统中的crontab的执行。所以anacron并不能指定何时执行某项任务,而是以天为单位或者是在开机后立刻进行anacron的操作,它会去检测停机期间应该进行但是并没有进行的crontab任务,并将该任务执行一遍,然后anacron就会自动停止。

所以anacron也是通过crontab来运行的,因此anacron运行的时间通常有两个,一个是系统开机期间运行,一个是写入crontab调度中。

anacron [参数],-s开始连续执行各项工作,会依据时间记录文件de数据判断是否进行、-f强制执行,不去判断时间记录文件的时间戳、-n立刻进行未进行的任务,不延迟(delay)时间、-u仅更新时间记录文件时间戳,不进行任何工作、job由/etc/anacrontab定义各项工作名称。

/etc/anacrontab;

165cron.dailyrun-parts /etc/cron.daily

天数延迟时间工作名称定义实际要进行的命令串

运行流程:

1.由/etc/anacrontab分析到cron.daily这项工作名称的天数为1天;

2.由/var/spool/anacron/cron.daily取出最近一次执行anacron时间戳;

3.由上个步骤与目前的时间比较,若差异天数为1天以上(包括1天),就准备进行命令;

4.若准备进行命令,根据/etc/anacrontab的设置将延迟65分钟;

5.延迟时间过后,开始执行后续命令,即“run-parts /etc/cron.daily”命令;

6.执行完毕后,anacron程序结束。

1.今天假设我有一个指令程序,名称为ping.sh。我想要让系统每三分钟执行这个文件一次, 但是偏偏这个文件会有很多的信息显示出来,所以我的root 帐号每天都会收到差不多四百多封的信件,光是收信就差不多快要疯掉了!那么请问应该怎么设置比较好呢?

A.crontab -e;*/3 * * * * ping.sh > /dev/null 2>&1。

2.您预计要在2015年的1月1日寄出一封给xeyes,只有该年才寄出!该如何执行指令?

A.at 00:00 2015-01-01;/bin/mail xeyes -s “Hello world” < letter.txt

3.执行crontab -e后,如果输入这一行,代表什么意思?30 15 * * 1-5 /usr/local/bin/tea_time.sh

A.周一至周五的15:30,执行脚本/usr/local/bin/tea_time.sh。

4.我用vim编辑/etc/crontab这个文件,我编辑的那一行是这样的:

25 00 * * 0 /usr/local/bin/backup.sh这一行代表的意义是什么?

A.语法错误,缺少执行者身份,无意义。

5.请问,您的系统每天、每周、每个月各有进行什么工作?

A.cat /etc/cron.*查看

6.每个星期六凌晨三点去系统查找一下含有有SUID/SGID的任何文件。并将结果输出到/tmp/uidgid.files

A.vim /etc/crontab;00 03 * * 6 root find / -perm +6000 > /tmp/uidgid.files。

时间: 2024-07-30 13:44:07

我和linux的第三十二天的相关文章

排查Linux机器是否已经被入侵

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例: [[email protected] ~]# ll -h /var/log/* -rw-------. 1 root root 2.6K Jul 7 18

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

Linux centos下让alias自定义永久生效(+常用的别名)

alias可以简化一些复杂的命令串,使一个单词或简化后的命令即可实现复杂(通常是带很多参数的长串)命令. 基本用法: alias 简化命令='实际的长串命令'    //实际长串命令通常为'原命令 -/选项参数' eg. alias ll='ls -a' 获取别名: alias        //即可查看当前设定的所有alias别名 取消别名: unalias 简化命令 eg. unalias ll            //取消ll的别名 永久生效: 直接使用alias命令定义的别名,重启后就

Linux下修改环境变量PATH

1.什么是环境变量(PATH) 在Linux中,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的文件先执行. 我们知道查阅文件属性的指令ls 完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:"为什么我可以在任何地方执行/bin/ls这个指令呢? " 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀! 当我们在执行一个指令癿时候,举例

老男孩Linux运维第41期20170917开班第四周学习重点课堂记录

第1章 必知必会文件 配置文件位置 该文件作用 /etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡的配置文件 同setup中的network /etc/resolv.conf 客户端DNS配置文件,优先级低于网卡配置文件 /etc/hosts 主要作用是定义IP地址和主机名的映射关系(域名解析),是一个映射IP地址和主机名的规定 /etc/sysconfig/network 用于配置hostname和networking /etc/fstab 开机自动

Linux基础命令小结

注意:Linux严格区分大小写 老男孩方法论经验之谈: 有一种方法叫做没方法 有两种方法,左右为难 有三种方法才叫有方法 停止一个命令:CTR + C 1.创建目录 英文:make directorys 命令:mkdir 实例:三种方式 mkdir /data cd / mkdir data cd /;mkdir data mkdir x y z    表示同时创建多个目录 mkdir -p /data/x/y   表示同时创建多级目录(递归创建),切记不可用mkdir /data/x/y 2.

Linux red hat 安装ansible

今日对Linux 系统是Red Hat Enterprise Linux Server release 6.5 (Santiago)对ansible进行安装. 由于系统的源为yum源,所以使用yum install ansible 进行安装,但是报错.如图.(这个错误是yum源没有注册到red hat 系统). yum源不能安装,所以换了一个思路.使用pip安装.pip是依赖python安装的. 1.检查Python版本 Python -v 检查出来为Python 2.6.6 2.检查pip 版

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信