当前位置: 首页 > news >正文

Linux之计划和日志

计划任务

计划任务概念解析

在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。通过安装at和crontabs这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontabs命令进行计划任务设置。

计划任务分为一次性和循环性的计划任务

一次调度执行-----at

作用:  计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据 

一次性调度执行 at---实战

语法格式
at <时间规格> :now +5min
>写执行的命令
​
可写hours、days、weeks 为单位
例1: 
[root@linux-server ~ ]# yum -y install at
[root@linux-server ~ ]# systemctl status atd    #查看启动状态(atd,进程名)
[root@linux-server ~ ]# systemctl start atd     #首先要启动服务
[root@linux-server ~ ]# at -l                   #列出计划任务
[root@linux-server ~ ]# at now +1min            #一分钟后开始执行
at> useradd uuuu  
at> <EOT>                                       #Ctrl+D完成
job 1 at Sat Mar 21 22:34:00 2015
​
[root@linux-server ~]# id uuuu
例2: 
[root@linux-server ~]# vim at.jobs 
useradd u99 
useradd u00 
touch /a.txt
​
[root@linux-server ~]# at 20:33 < at.jobs #计划20:33输出at.jobs的内容
例3:
1. 准备sudo用户
[root@linux-server ~]# id jack
uid=1007(jack) gid=1012(jack) groups=1012(jack)
[root@linux-server ~]# useradd jack   #如果不存在则创建jack用户
[root@linux-server ~]# visudo         #编辑sudoers文件,更改允许哪些用户和组运行sudo 91 ## Allow root to run any commands anywhere 92 root    ALL=(ALL)       ALL 93 jack    ALL=(ALL)       NOPASSWD: ALL  #添加内容
​
[root@linux-server ~]# su - jack      #切换为jack用户
2. 以sudo 用户jack创建at任务  [jack@linux-server ~]$ vim jack.at  sudo useradd u200  sudo useradd u300  sudo touch /home/jack.txt  [jack@linux-server ~]$ at 20:38 < jack.at                                     
更多使用案例
at 5:00pm+2 days  #2天后的下午5点执行命令
at 08:00am  tomorrow  #明天上午8点,执行命令

循环调度执行cron 用户级

安装软件   [root@linux-server ~]#  yum -y install crontabs  #如果软件不存在安装
​
启动服务   rhel5/6:   [root@linux-server ~]#  /etc/init.d/crond status   [root@linux-server ~]#  /etc/init.d/crond start
​
开机启动(rhel5/6)   [root@linux-server ~]# chkconfig crond on
​   rhel7:
[root@linux-server ~]# systemctl start crond.service  #启动服务
[root@linux-server ~]# systemctl enable crond.service #设置开机启动
[root@linux-server ~]# systemctl status crond.service #查看服务状态
[root@linux-server ~]# systemctl is-enabled crond     #查看服务是否已设置为开机启动
enabled                                         (使用sudo或以root身份运行该命令)
[root@linux-server ~]# ps -ef | grep crond 
root        755      1  0 20:18 ?        00:00:00 /usr/sbin/crond -n
​
存储位置
[root@linux-server ~]# cd /var/spool/cron/​/var/spool/cron/ 目录存放的是用户的crontab任务,任务以创建者的名字命名。
/etc/crontab     文件负责调度各种管理和维护任务。
/etc/cron.d/     目录存放任何要执行定时任务的crontab文件或脚本。

管理方式crontab -l
http://www.lryc.cn/news/393766.html

相关文章:

  • C++ 多态篇
  • 【LVGL-SquareLine Studio】
  • mysqli 与mysql 区别和联系, 举例说明
  • 【SpringCloud应用框架】Nacos安装和服务提供者注册
  • 英语学习交流小程序的设计
  • 实现Java多线程中的线程间通信
  • C++模板元编程(一)——可变参数模板
  • kafka中
  • Android 获取当前电池状态
  • 【JVM 的内存模型】
  • 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01—短信/邮件/异常/MD5
  • geom buffer制作
  • 微软正在放弃React
  • U盘非安全退出后的格式化危机与高效恢复策略
  • 安卓虚拟位置修改
  • 大数据面试题之Presto[Trino](5)
  • 对编程开发人员在今年的一些建议
  • VSCode设置好看清晰的字体!中文用鸿蒙,英文用Jetbrains Mono
  • SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API
  • 第1集《修习止观坐禅法要》
  • markdown变量引用
  • 如何使用echart做K线图
  • Spring Boot应用使用GraalVM本地编译相关配置
  • 代码的坏味道——长函数
  • 【机器学习】基于密度的聚类算法:DBSCAN详解
  • Qt 网络编程 网络信息获取操作
  • linux中的进程以及进程管理
  • pyecharts可视化案例大全(11~20)
  • Docker在人工智能领域的应用与实战
  • python基础篇(8):异常处理