Linux-系统的延时和定时
1、系统的延时任务
at 时间
时间后回车
就可以进入编辑了
完成后按ctrl+d提交
at 09:46 #设定任务的执行时间
at> touch /mnt/file{1..9} #任务的动作
at> <EOT> #ctrl+d 发起任务 at -l #查看任务列表
注:多个任务可以同时被执行 at -c 任务号 #查看任务的内容
at -r 任务号 #取消任务的执行 取消一定在任务执行的时间之前 注:当任务有输出的时候,输出会以邮件的形式发送给at任务的发起者
at now+1min
at> echo hello
at> <EOT>
job 5 at Sun Jan 20 10:08:00 2019 #邮件 例: mail -u root #查看超级用户邮件
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/mail/root": 2 messages 2 new
>N 1 root Sun Jan 20 09:46 22/1028 "Output from y"
N 2 root Sun Jan 20 10:08 14/494 "Output from y"
& 2
Message 2: #查看第二封邮件
From root@desktop0.example.com Sun Jan 20 10:08:00 2019
Return-Path: <root@desktop0.example.com>
X-Original-To: root
Delivered-To: root@desktop0.example.com
Subject: Output from your job 5
To: root@desktop0.example.com
Date: Sun, 20 Jan 2019 10:08:00 +0800 (CST)
From: root@desktop0.example.com (root)
Status: R hello & q:退出 >/var/spool/mail/root #清空邮件
系统中的其他用户,也可以通过at命令发起任务的执行 例: [student@desktop0 ~]$ at + 10:13
syntax error. Last token seen: +
Garbled time
[student@desktop0 ~]$ at 10:13
at> touch /home/student/ss
at> <EOT>
job 6 at Sun Jan 20 10:13:00 2019
[student@desktop0 ~]$ at -l
6 Sun Jan 20 10:13:00 2019 a student
[student@desktop0 ~]$ at 10:15
at> touch /root/file #在任务的发起中一定要注意:不同用户的权限问题
at> <EOT>
job 7 at Sun Jan 20 10:15:00 2019
[student@desktop0 ~]$ at -l
7 Sun Jan 20 10:15:00 2019 a student
[student@desktop0 ~]$ ll
total 0
-rw-rw-r--. 1 student student 0 Jan 20 10:13 ss
2、at任务的黑白名单 黑名单:
/etc/at.deny #系统中默认存在,在此文件中出现的用户不能执行at命令
[root@desktop0 mnt] ll /etc/at.deny
-rw-r--r--. 1 root root 1 Jan 29 2014 /etc/at.deny
[root@desktop0 mnt] vim /etc/at.deny
[root@desktop0 mnt] cat /etc/at.deny
student
[root@desktop0 mnt] su - stduent
su: user stduent does not exist
[root@desktop0 mnt] su - student
Last login: Sun Jan 20 10:11:57 CST 2019 on pts/0
[student@desktop0 ~]$ at 10:16
You do not have permission to use at. 白名单:
/etc/at.allow #系统中默认不存在,当文件出现,普通用户不能执行at,只用在名单中出现的用户可以,/etc/at.deny这个文件失效 3、系统的定时任务
例: 分钟 小时 天 月 周
* * * * * #每分钟
*/2 * * * * #没两分钟
*/2 09-17 * * * #早9-晚5每两分钟
*/2 09-17 * 3,5 5 #3月和5月每周五
*/2 09-17 * * 5 #每周五早9晚5
命令方式设置定时任务:
crontab -e #root用户的定时任务
crontab -l -u root #列出crontab任务
crontab -e -u student #root让普通用户执行定时任务 文件方式设置定时任务:
cd /etc/cron.d
vim file(文件名任意)
* * * * * username action
#用户名 #执行什么命令 例:
分钟 小时 天 月 周
* * * * * root touch /mnt/file #每分钟root用户在/mnt下建立一个file文件
*/2 * * * * #没两分钟
*/2 09-17 * * * #早9-晚5每两分钟
*/2 09-17 * 3,5 5 #3月和5月每周五
*/2 09-17 * * 5 #每周五早9晚5 非交互式:
echo "* * * * * root rm -rf /mnt/*" >/etc/cron.d/westos
#把* * * * * root rm -rf /mnt/*命令打印到/etc/cron.d/westos文件里面
注:在文件的方式定义crontab任务的时候,使用crontab -l是看不到内容的 以下目录只对超级用户可写:
[root@desktop0 cron.d] ll -d /etc/cron.d
drwxr-xr-x. 2 root root 85 Jan 20 11:12 /etc/cron.d crontab的黑名单:
/etc/cron.deny #系统中默认存在,在此文件中出现的用户不能执行crontab crontab的白名单:
/etc/cron.allow #系统中默认不存在,当文件创建出来的时候,普通用户不能执行
#只有在名单中的用户可以使用
4、系统临时文件的管理方式 cd /usr/lib/tmpfile.d/
vim westos.conf d /mnt/westos 777 root root 5s
目录 要建立的文件目录 权限 拥有者 所属组 systems-tmpfiles --create /usr/lib/tmpfiles.d/* #读取里面的所有文件并按照规则去建立目录
cd /mnt/westos
touch file{1..9}
等待五秒
systemd-tmpfiles --clean /usr/lib/temfiles.d/* #清理目录里面的文件(只有5秒钟后才能清理)
Linux-系统的延时和定时的更多相关文章
- 利用Linux系统函数alarm() 来检测计算机性能
大家都知道,alarm() 是Linux系统自带的定时函数,操作系统管理进程时为每个进程分配了一个定时器,下面利用1秒钟定时,看计算机能计数多少来判断计算机的性能: #include<stdio ...
- 2.linux系统基础笔记(延时操作、实时系统中的定时器、事件)
延时操作 延时操作是操作系统中经常遇到的一种情形.延时的原因很多,有的时候是为了等待外设芯片处理结束,有的时候是为了暂时释放cpu的使用权,有的就是为了希望在一段时间获取资源,如果没法在单位时间内获取 ...
- Linux系统Shutdown命令定时关机详解
转自:http://www.bootf.com/490.html Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执 ...
- Linux系统crontab定时调度Python脚本
Linux系统crontab定时调度Python脚本 一.Python脚本随Linux开机自动运行 #Python脚本:/home/edgar/auto.py #用root权限编辑以下文件:/etc/ ...
- linux系统定时发送邮件
Linux Centos7系统下利用自带的mail发送邮件服务 简介 本章分为五部分. 第一部分是基于虚拟机下的CentOS 7环境定时发送邮件: 第二部分是基于在阿里云购买的CentOS 7服务器环 ...
- 初阶项目一-集成一套linux系统:红帽系统,LVM分区,Apache服务,MySQL服务,数据定时备份脚本
目录 一.项目目标 二.实施工具 三.项目实施计划 四.安装rhel7.5操作系统 4.1 配置虚拟机 4.2 安装操作系统 4.3 系统配置 4.3.1 网络配置 4.3.2 修改主机名 4.3.3 ...
- Linux系统编程-setitimer函数
功能:linux系统编程中,setitimer是一个经常被使用的函数,可用来实现延时和定时的功能. 头文件:sys/time.h 函数原型: int setitimer(int which, cons ...
- linux系统编程--信号
信号的概念 man 7 siganl 查看man手册 信号在我们的生活中随处可见, 如:古代战争中摔杯为号:现代战争中的信号弹:体育比赛中使用的信号枪......他们都有共性:1. 简单 2. 不能 ...
- Linux 系统编程 学习:03-进程间通信1:Unix IPC(2)信号
Linux 系统编程 学习:03-进程间通信1:Unix IPC(2)信号 背景 上一讲我们介绍了Unix IPC中的2种管道. 回顾一下上一讲的介绍,IPC的方式通常有: Unix IPC包括:管道 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
随机推荐
- Redis 源码简洁剖析 07 - main 函数启动
前言 问题 阶段 1:基本初始化 阶段 2:检查哨兵模式,执行 RDB 或 AOF 检测 阶段 3:运行参数解析 阶段 4:初始化 server 资源管理 初始化数据库 创建事件驱动框架 阶段 5:执 ...
- Redis 分布式锁使用不当,酿成一个重大事故,超卖了100瓶飞天茅台!!!(转)
基于Redis使用分布式锁在当今已经不是什么新鲜事了. 本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案.我们项目中的抢购订单采用的是分布式锁来解决的,有一次,运营做了一 ...
- C字符串倒置-中部对称
问题如图 Code #include<stdio.h> #include<string.h> #define MAX_LENGTH 10//最大字符串长度 void inver ...
- Java中的增强型for循环
下面是关于增强型for循环对一维数组与二维数组遍历的具体实现: public class NewForLoop { public static void main(String[] args) { i ...
- JAVA多线程提高十四:同步工具Exchanger
Exchanger可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象.Exchanger 可能被视 ...
- PHP扩展开发编译环境的搭建
PHP允许使用扩展的方式,直接使用C语言开发PHP的功能,由于编译的问题,很多底层和框架的基础工作如果用PHP必然会带来额外的开销,降低系统的吞吐量,必然yaf就是这样的思路,把框架封装在扩展里,让系 ...
- centos安装php7.2
目前php最高稳定版本是7.2,wordpress中也建议采用该版本. 若直接采用centos中的yum安装:sudo yum -y install php,版本是5.4,远远不够,因此我们要手动更新 ...
- 如何快速为团队打造自己的组件库(下)—— 基于 element-ui 为团队打造自己的组件库
文章已收录到 github,欢迎 Watch 和 Star. 简介 在了解 Element 源码架构 的基础上,接下来我们基于 element-ui 为团队打造自己的组件库. 主题配置 基础组件库在 ...
- 海康PTZ云台摄像头调试之直接控制云台(C#)
众所周知,海康的摄像头sdk较为完善,但是对于新手来说还是有点麻烦. 今天写一篇随笔给大家展示下怎么控制海康摄像头的云台(前提是有ptz云台设备) 1.sdk准备 本文基于C#的frame来开发一个p ...
- GCC 使用库文件名进行链接
使用 GCC 进行 C/C++ 代码编译时,如果代码中使用到了库函数,需要使用 -l 选项指定该库函数所在的库.如:-lm.-lrt.-lpthread等.这种方式使用的是库的缩写.一个库的文件名如果 ...
