Linux计划任务(crond、atd)

阅读: 1357 | 文章分类: Linux | Tag: 系统&nbsp&nbsp crond&nbsp&nbsp atd&nbsp&nbsp

在Linux中计划任务的软件有几个,今天主要说两个,一个是我比较常用的crond,另外是at,我们逐个来展开详细

# crontab

免安装,Redhat与CentOS最小化安装默认都有该可执行程序

>Linux中定时任务算crontab比较常用,他可以通过修改用户得配置文件来实现定时任务,一般用户得定时任务都会存放在/var/spool/cron/这个目录下,各个用户都会有一个单独的文件,以用户名为文件名称,设置定时任务时可以编辑或追加进这个目录下的用户文件里面,编辑或追加完要重启cron应用才生效

#### cron的定时任务用户文件路径

```

/var/spool/cron/root

```

#### 定时任务格式(在用户文件中)

```

59 23 * * * /usr/sbin/logrotate -f

#| | | | | |__________执行的命令

#| | | | |

#| | | | |_________________星期(取值范围 1-7)

#| | | |

#| | | |___________________月份(取值范围 1-12)

#| | |

#| | |_____________________日期(取值范围 1-31)

#| |

#| |_______________________小时(取值范围 0-23)

#|

#|__________________________分钟(取值范围 0-59)

```

#### 重启crond方式(设置完定时任务必须重启才生效)

```

/etc/init.d/crond restart

# 或

systemctl restart crond

```

#### 查看定时任务

```

[root@localhost ~]# crontab -l

0 0 * * * /usr/sbin/ntpdate 192.168.10.12

59 23 * * * /usr/sbin/logrotate -f /opt/nginx.log

[root@localhost ~]# cat /var/spool/cron/root

0 0 * * * /usr/sbin/ntpdate 192.168.10.12

59 23 * * * /usr/sbin/logrotate -f /opt/nginx.log

```

#### 参数

> cron没啥参数可讲的,基本就只会用到-l,其他计划添加计划任务啥的都通过修改文件进行

```

-u :用于管理员来指定用户添加定时任务

# 用法:

[root@localhost ~]# crontab -u jiahui /data/ping.sh

-e :删除当前用户所有计划任务(可使用-u指定用户)

# 用法:

[root@localhost ~]# crontab -r

-l :查看当前用户所有计划任务(可使用-u指定用户)

# 用法:

[root@localhost ~]# crontab -l

```

# atd

#### yum安装

```

[root@localhost ~]# yum -y install at

```

#### 启动atd

```

Redhat 7+

[root@localhost ~]# systemctl start atd # (stop)

Redhat 6

service atd start # (stop|restart|reload|status)

/etc/init.d/atd start

```

#### 设置开机启动

```

[root@localhost ~]# systemctl enable atd

```

#### 参数

```

-V :打印版本号

-l :查看所有计划任务(同atq)

-d :删除指定计划任务(同atrm,后面接计划任务的编号)

-v :查看已完成但未删除的计划任务

```

#### 使用方法

```

# 添加计划任务

[root@localhost ~]# at 20:00 # 直接输入时间

at> echo "20:00" # 执行内容(输入错误无法使用退格键删除,但可以使用Ctel+退格键删除)

at> # 按Ctrl+D保存退出(Ctrl+D通用ssh连接的退出、python的退出、mysql的退出等等,常用)

job 1 at Wed Apr 18 20:00:00 2018

```

```

# 查看计划任务

[root@localhost ~]# atq

1Wed Apr 18 20:00:00 2018 a root

2Wed Apr 18 20:00:00 2018 a root

[root@localhost ~]# at -l

1Wed Apr 18 20:00:00 2018 a root

2Wed Apr 18 20:00:00 2018 a root

```

```

# 删除计划任务

[root@localhost ~]# atrm 2 # 2是计划任务的编号,查看计划任务的第一列就是

```

#### 黑/白 名单

> 这里的黑/白名单并不是使用系统的文件权限来实现的,软件本身可以通过一个文件来控制

> 特别建议,白名单或黑名单文件只保留一个就好,不要两个同时使用,不然没意义

白名单文件目录,只允许白名单内的用户使用at计划任务,其他用户无法使用,注意格式,每个用户名称占一行

```

[root@localhost ~]# cat /etc/at.allow # 注意白名单文件名称是at.allow

jiahui

```

黑名单文件目录,不允许黑名单内的用户使用at计划任务,其他用户可使用,注意格式,每个用户名称占一行

```

[root@localhost ~]# cat /etc/at.deny # 注意白名单文件名称是at.deny

zhang3

```

linux查看其他用户计划任务,Linux计划任务(crond、atd)相关推荐

  1. linux查看所有用户家目录,linux – 允许用户读取其他用户的主目录

    我是系统管理的新手,我有一个与权限相关的查询.我有一个叫做管理的小组.在管理组内部,我有用户user1,user2,user3,超级用户.所有用户都在管理组中.现在,我需要为用户超级用户授予权限,以便 ...

  2. linux查看其他用户history,从Linux服务器上的其他用户隐藏命令历史记...

    有许多方法可以隐藏您的命令历史记录,但完全关闭历史记录是一个坏主意,因为它非常有用.以下是暂时关闭它的三种好方法. >最快的解决方案:键入未设置的HISTFILE 这将阻止您在当前登录会话中运行 ...

  3. linux系统中mywho命令,linux查看在线用户 who命令参数及用法

    linux who 命令 详解 Linux最常用命令之一 功能说明:显示目前登入系统的用户信息. 语 法:who [-Himqsw][--help][--version][am i][记录文件] 补充 ...

  4. linux 查看当前用户和组的信息,Linux查看所有用户和组信息

    主要通过以下两个命令: cat /etc/passwd cat /etc/group 步骤一:cat /etc/passwd查看所有的用户信息,详情如下图: 步骤2:cat /etc/passwd|g ...

  5. linux查看所有用户 用户组的方法(修改用户组)

    为什么80%的码农都做不了架构师?>>>    Linux没有像windows的net user,net localgroup这些方便的命令来管理用户. 分享下linux系统中查看所 ...

  6. Linux查看所有用户及用户管理命令

    1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

  7. linux查看目录的所属组,linux分配文件文件夹所属用户及组

    ls -l 可以查看当前目录文件.如: drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份 分别对应的是: 文件属性 连接数 文件拥有者 所属群组 文件大小 ...

  8. 查询linux用户及组,linux查看所有用户和查看用户组的方法(修改用户组)

    1.linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

  9. linux查看所有用户

    cat /etc/passwd 1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用 ...

  10. linux查看所有用户命令

    1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

最新文章

  1. 聊聊rocketmq的ProducerImpl
  2. 马斯克欢庆特斯拉年交付50万辆!国产三雄创新高,逼近其1/5
  3. Java基础super关键字、final关键字、static关键字、匿名对象整理
  4. 图像检索:layer选择与fine-tuning性能提升验证
  5. MFC小笔记:简单画图
  6. cocos2dx视频教程进阶篇--第2天--打砖块游戏-box2d物理引擎
  7. The content of element type web-app must match……等 问题之解决办法
  8. 【每日算法Day 61】LeetCode 672. 灯泡开关 Ⅱ
  9. wpf 自动完成comboxBox
  10. SubmitButton
  11. 微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)
  12. linux蜂鸣器驱动指令,Linux 设备驱动简析—PC蜂鸣器驱动
  13. MapReduce之求各个部门工资的总和
  14. 大小不同图片归一化到给定大小
  15. Md5+salt实现用户加密
  16. [Delphi] 多线程编程
  17. 国家、省、市三级联动下拉列表
  18. HTML5 video视频制作,控制按钮
  19. imx6ull开发板SD卡烧录方式---援引正点原子
  20. UFI 命令 返回值(UFI Command Specification)

热门文章

  1. 50个地理人必备数据库赶紧收藏起来(含气候、地信、地质、卫星遥感、城市经济等)
  2. 长春理工大学第六届CTF网络攻防大赛题解(文末有题目下载链接)
  3. 百度富文本编辑器UEditor增加自定义字体
  4. Linux 进程通信
  5. C++游戏编程教程(三)
  6. 【MATLAB中UIGETFILE函数的用法】
  7. pi启动configtool
  8. ZigBee-CC2530单片机 - 实现软件自动复位
  9. OBS 进阶之 DXGI 采集屏幕流程,并如何修改为自己的光标
  10. include指令与include行为