【RedHat】使用cron安排周期性任务——周期性创建用户实例

cron用来管理周期性重复执行的任务调度,非常适合日常系统维护工作。计划任务分为系统的计划任务和用户自定义的计划任务。

  • cron服务每分钟都检查/etc/crontab文件、/etc/cron.d目录和/var/spool/cron目录中的变化。
  • /var/spool/cron目录下的任务需要通过crontab -e 命令来创建;
    /etc/cron.d目录下的时任务配置文件,不是可执行文件;

使用cron安排周期性任务——周期性创建用户实例

    • (一)使用配置文件/etc/crontab定义系统级周期性任务。
    • (二)在/etc/cron.d目录中定义个别的周期性任务
    • (三)使用crontab命令为普通用户定制任务调度
    • (四)控制对cron的访问
    • (五)周期性创建用户实例

(一)使用配置文件/etc/crontab定义系统级周期性任务。

cron主要使用配置文件/etc/crontab来管理系统级任务调度。

# cat /etc/crontabSHELL=/bin/bash									#默认的Shell环境
PATH=/sbin:/bin:/usr/sbin:/usr/bin              #运行命令的默认路径
MAILTO=root										#执行结果以邮件形式发送到此处指定的用户# For details see man 4 crontabs# Example of job definition:
# .---------------- minute (0 - 59)    								#分钟(0-59)
# |  .------------- hour (0 - 23)									#小时(0-23)
# |  |  .---------- day of month (1 - 31)							#日期(1-31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...			#月份(1--12)
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat             #星期(0-7)
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

在这里插入图片描述

注意:

  • 星号“ * ”为通配符,表示取值范围的任意值;
    连字符“ - ”,表示数值区间;
    逗号“ , ”,用于多个数值列表;
    正斜线“ / ”,用来指定间隔频率。在某个范围后面加一个“/整数值”表示在该范围内每跳过该整数值执行一次任务。例如“1-12/3”,用于月份表示每三个月。
    user-name 是执行任务命令的用户身份,例如root用户
    command to be executed:要执行任务命令的路径

Linux系统中预设有许多例行任务,cron服务默认开机自动启动。通常cron服务的监测周期是1分钟,它每分钟会读取配置文件/etc/crontab的内容,根据其中定义执行任务。

(二)在/etc/cron.d目录中定义个别的周期性任务

/etc/crontab配置文件适合全局性的计划任务,如果要定制更了灵活、更具个性的计划任务,则可以考虑在/etc/cron.d 目录中添加自己的配置文件,格式同/etc/crontab,文件名可以自定义。

在这里插入图片描述
在这里插入图片描述

与/etc/crontab一样,只是已经定义了一个调度任务,具体功能是到整点一分,系统就以root身份执行run-parts脚本来运行/etc/cron.hourly目录中的调度任务脚本。系统提供了/etc/cron.daily、/etc/cron.weekly、/etc/cron.mouthly目录,分别用于每日、每周、每月的任务调度。

(三)使用crontab命令为普通用户定制任务调度

上述两种配置是系统级的,只有root用户能够通过/etc/crontab文件和/etc/cron.d目录来定制cron任务调度。普通用户只能使用crontab命令创建和维护自己的cron配置文件。

  • 指定用户
crontab -u 用户名		#省略则是默认当前用户
  • 编辑用户cron调度文件
crontab -e
  • 显示cron调度文件内容
crontab -l

crontab命令生成的cron调度文件位于/var/spool/cron目录,以用户账户命名。

# cd /var/spool/cron
# ls
root

(四)控制对cron的访问

可以通过/etc/cron.allow和/etc/cron.deny文件来限制用户对cron服务的使用。这两个控制文件的格式都是每行一个用户,不许空格。

如果cron.allow文件存在,只有其中列出的用户才被允许使用cron,并且忽略cron.deny文件的设置;如果cron.allow文件不存在,所有在cron.deny中列出的用户都被禁止使用cron。 redhat9.0中cron.allow文件不存在,只有cron.deny文件且里面是空的。root用户不受这两个控制文件的制约,总是可以使用cron。

(五)周期性创建用户实例

###############################################################################DESCRIPTION:创建用户,用作周期性执行测试
#NOTES:
#1、定义变量,申明用户名
#2、增加用户命令,并将报错结果丢进一个临时文件
#3、为用户设置密码,并将输出结果丢进垃圾桶
#4、记录当下生成用户的时间
#AUTHOR:Ley 
#CREATED2024/3/27###############################################################################
#!/bin/bash
username=ly
sudo useradd $username 2>> /tmp/err.log
echo 1234567 | passwd --stdin $username &> /dev/null
#echo $(date) >> /tmp/err.log
date 1>> /tmp/err.log
~                           
# crontab -e* * * * /root/uad.sh		#每分钟执行一次,当前用户执行。
crontab: installing new crontab

查看临时文件,看报错信息和时间,每分钟创建一次用户
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/579015.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SEH异常之编译器原理探究(1)

_try_except原理 调用_except_handle3这个异常处理函数,这里并不是每个编译器的异常处理函数都是相同的,然后存入结构体,将esp的值赋给fs:[0],再就是提升堆栈的操作 每个使用 _try _except的函数,不管其内部嵌套或反复…

系统资源紧缺?不用担心,Linux命令和Shell脚本帮你搞定

在之前的文章中介绍了如何申请AWS免费主机使用WordPress搭建自己的个人网站,但是在我使用过程中发现了一个问题,由于陆陆续续安装了好几个插件,偶尔在访问网站时会出现数据库连接出错的异常情况,导致页面无法访问。稍等一会儿刷新…

基于Springboot+vue的鲜花销售商城网站

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,鲜花销售商城当然也不能排除在外。鲜花销售商城是以实际运用为开发背景,运用软件工程原理和开发方法&#x…

vue-v-for遍历index与id

一.遍历列表key的作用(index作为key) 虚拟DOM上有key,是虚拟的,但是真实DOM上没有,key是Vue内部的 当使用index作为key的时候,Vue会根据初识数据生成一个初始的虚DOM, 然后在页面上映射出真实DOM 如果向数据…

C#_事件_多线程(基础)

文章目录 事件通过事件使用委托 多线程(基础)进程:线程: 多线程线程生命周期主线程Thread 类中的属性和方法创建线程管理线程销毁线程 事件 事件(Event)本质上来讲是一种特殊的多播委托,只能从声明它的类中进行调用,基本上说是一个用户操作&…

kubernetes(K8S)学习(五):K8S进阶(Lifecycle......偏理论)

K8S进阶(Lifecycle......偏理论) 一、Pod进阶学习之路1.1 Lifecycle1.2 重启策略1.3 静态Pod1.4 健康检查1.5 ConfigMap1.6 Secret1.7 指定Pod所运行的Node 二、Controller进阶学习之路2.1 Job & CronJob2.2 StatefulSet2.3 DaemonSet2.4 Horizontal…

039—pandas 不规则表头转换为规整DataFrame

使用步骤 读入数据 代码如下(示例): import pandas as pd import numpy as np df pd.DataFrame({0: [姓名, 性别],1: [张三, 男],2: [年龄,np.nan],3: [18,np.nan]}) dfdf.values.reshape([4,2])r len(df.columns)(pd.DataFrame(df.valu…

MQTT.fx连接新版OneNet平台的一些问题

对于使用通信主题publish给OneNET时,如图所示: 但是点击Publish后,出现了Broker connection lost的问题 原因在于:新版OneNET和旧版OneNET的通信主题不一致了,查阅文档获知,格式如下: $sys/{p…

家庭网络防御系统搭建-配置流量镜像到NDR系统

由于需要将家庭网络中的全部流量送到NDR分析系统进行分析,因此需要一个具备流量镜像功能的交换机或者路由器。在前面文章所提及的家庭网络架构中,需要一台交换机即可拷贝东西向流量以及南北向流量。当然如果家庭中的路由器或者其他设备具备交换机镜像功能…

代码审计之远程调试方法介绍

前言 在做代码审计时,通常需要将源码运行起来,用于验证漏洞是否真实存在,通过debug可以更加直观的观察程序的运行细节,可以比较快的确认有效漏洞,debug也是开发人员在代码调试测试阶段经常用到的方法。但源码开始运行…

Linux:程序地址空间详解

目录 一、堆、栈、环境参数所在位置 二、进程地址空间底层实现原理 ​编辑 三、什么是地址空间 四、为什么要有进程地址空间 五、细谈写实拷贝的实现及意义 在C/C学习中,都学习过如上图所示的一套存储结构,我们大致知道一般存储空间分为堆区&#…

社交网络的未来:Facebook如何塑造数字社交的下一章

引言 社交网络已成为我们生活中不可或缺的一部分,而Facebook作为其领军者,一直在塑造着数字社交的未来。本文将深入探讨Facebook在未来如何塑造数字社交的下一章,并对社交网络的发展趋势进行展望和分析。 1. 引领虚拟社交的潮流 Facebook将…