linux系统中计划任务介绍

目录
  • 一、定制计划任务
  • 二、同步时间
  • 三、练习
  • 四、安全问题

一、定制计划任务

1、atd服务(一次性)

1、atd服务对应的命令------》at

使用at命令时先要进行安装

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

然后必须要起动atd服务,不然不会定时去执行任务的

[root@localhost lianxi]# service atd start
Redirecting to /bin/systemctl start atd.service

案例如下:

[root@localhost lianxi]# at 11:00 #创建一个一次性执行的计划任务
at> bash /root/wang.sh
at> <EOT>     # ctrl+d退出
job 5 at Wed Dec 22 11:00:00 2021
[root@localhost lianxi]# at -l
3	Wed Dec 22 10:20:00 2021 a root
5	Wed Dec 22 11:00:00 2021 a root
[root@localhost lianxi]#

[root@localhost lianxi]# atrm  3  #删除计划任务编号为3的任务
[root@localhost lianxi]# at -l  #查看计划任务列表
5	Wed Dec 22 11:00:00 2021 a root
[root@localhost lianxi]# 

2、存放一次性计划任务的目录:/var/spool/at

batch命令也等同于at命令,只不过是系统负载比较低的时候运行计划任务

uptime命令:

[root@localhost lianxi]# uptime  #查看系统开机多久了,以及系统的平均负载
 10:28:33 up 4 days, 16:13,  2 users,  load average: 0.00, 0.01, 0.05

2、crond服务(周期性)服务是默认安装的,而且开机自动启动

1、crond服务对应的命令------》crontab     是创管理周期性计划任务的命令
-e  表示创建一个计划任务  (edit)
-l  查看计划任务列表

2、存放周期性计划任务的目录:/var/spool/cron

      cron服务的配置文件:/etc/crontab

      cron服务的日志文件:/var/log/cron (可以知道一个计划任务是否执行(CMD))

格式如图所示:

 例子:《示例1 (root用 户)》
每天早上7:50自动开启sshd服务,22点50时关闭
每隔5天的12点整清空一次FTP服务器公共目录Ivar/ftp/pub
每周六的7:30时,重新启动httpd服务
每周一、三、五的17:30时,打包备份/etc/httpd目录

[root@localhost lianxi]# crontab -e
crontab: installing new crontab
[root@localhost lianxi]# crontab -l
30 3 * * * bash /root/sc.sh
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 czf /backup/httpd.tar.gz /etc/httpd
30 4 * * * /bin/bash /lianxi/backup/backup_log.sh
[root@localhost lianxi]# 

3、atd服务、crond服务 后面d的含义

d------》daemon(守护进程):一直在内存里运行的进程,直到我们人为停止它的运行,不然它是一直在内存中运行的,因为一直在内存里运行,所以我们的用户可以随时去访问,所以它一直守护着你,等待着你的到来。

二、同步时间

在centos7里:使用ntpdate命令

#第一步先安装
[root@localhost lianxi]# yum install ntpdate -y

#第二步
[root@localhost lianxi]# date  -s "2021-12-22 15:6:12"  #修改时间
2021年 12月 22日 星期三 15:06:12 CST

#第三步
[root@localhost lianxi]# ntpdate time.windows.com
22 Dec 11:59:38 ntpdate[13102]: step time server 20.189.79.72 offset -11225.674351 sec
[root@localhost lianxi]# date
2021年 12月 22日 星期三 11:59:42 CST

在centos8或7里:使用chrony

[root@localhost lianxi]# yum install chrony -y  #安装

[root@localhost lianxi]# service chronyd restart #重启服务
Redirecting to /bin/systemctl restart chronyd.service

[root@localhost lianxi]# date  -s "2021-12-22 15:6:12"
2021年 12月 22日 星期三 15:06:12 CST

[root@localhost lianxi]# date
2021年 12月 22日 星期三 12:02:38 CST

三、练习

  1.编写一个脚本/backup/backup_log.sh实现备份/var/log目录下的所有文件到/backup目录下,要求文件名是包含当天日期,精确到秒,文件名例如:2016-6-6-2_30_20-log.tar.gz。
同时要求删除/backup目录下七天前的备份文件,只保留最近7天的

  2.以root用户的身份去执行,计划任务的要求是每天的4:30执行上面的这个脚本/backup/backup_log.sh

[root@lamp-test backup]# pwd
/backup
[root@lamp-test backup]# cat backup_log.sh
#!/bin/bash
mkdir -p /backup
tar -czf  /backup/$(date +%F_%H_%M_%S)-log.tar.gz   /var/log/*
find /backup -mtime +7 -type f -name  "*.tar.gz" -exec rm -rf {} \;
[root@lamp-test backup]# crontab -l
30 4 * * * bash /backup/backup_log.sh

四、安全问题

1、如何找出有非法的计划任务? 到哪些地方去看? crond进程会到哪些地方去找需要执行的脚本?

1./var/spool/cron   --》用户自定义的计划任务存放的地方

2.操作系统本身的计划任务--(顺风车)

[root@localhost lianxi2]# ls /etc/cron.*
/etc/cron.deny

/etc/cron.d:
0hourly

/etc/cron.daily:  每台需要执行的脚本
logrotate  man-db.cron

/etc/cron.hourly:  每小时需要执行的脚本
0anacron

/etc/cron.monthly:  每个月需要执行的脚本

/etc/cron.weekly: 每周执行的脚本

[root@localhost lianxi2]# cat /etc/cron.deny 禁用crond服务的用户可以写到里面

2、搭顺风车案例

搭顺风车例子:
[root@lamp-test cron.hourly]# pwd
/etc/cron.hourly
[root@lamp-test cron.hourly]# ls
0anacron  poweroff.sh
[root@lamp-test cron.hourly]# chmod +x poweroff.sh
[root@lamp-test cron.hourly]# cat poweroff.sh
init 0

[root@lamp-test log]# cd /etc/cron.hourly/
[root@lamp-test cron.hourly]# ls
0anacron  poweroff.sh
[root@lamp-test cron.hourly]# rm -rf poweroff.sh 

到此这篇关于linux系统中计划任务介绍的文章就介绍到这了,更多相关linux计划任务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈:linux cron 计划任务常用符号小结

    [root@wx-a ~]# crontab --help crontab: invalid option -- '-' crontab: usage error: unrecognized option usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) 编辑crontab 工作内容

  • Linux用户自定义at、cron计划任务执行的方法

    Linux系统中有两种计划任务,一种是只会执行一次 at 计划任务,一种是可以周期性地执行的 cron 计划任务 at 一次性计划任务 描述 在指定的时间执行特定命令(单次),也称为延时动作任务. 用法 at 时间 [回车] 参数 at -l #列出单次计划任务 at -r 任务id ##删除此id的任务 at -d 任务id ##删除此id的任务 at -m #让无输出的命令产生邮件 at -M #让有输出的命令产生邮件 at -c 任务id ##产看此id任务的动作 at -f 文件 ##用

  • Linux一次性计划任务at命令使用详解

    目录 前言 1.一次性计划任务的介绍 2.命令 3.创建一次性计划任务 4.一次性计划任务管理 4.1 查看一次性计划任务 4.2 删除一次性计划任务 4.3查看一次性计划任务的详细信息 5.一次性计划任务使用控制 前言 计划任务,就是有计划的任务,就是我们想按照我们的计划自动的执行任务. 关键点有 2 个: 第一个是计划,第二个是自动. 1.一次性计划任务的介绍 所谓一次性计划任务,就是按照 计划 只 执行一次 的任务. 2.命令 Linux中的 at 命令就是用来创建一次性计划任务的,at

  • 详解在Linux中怎么使用cron计划任务

    没有时间运行命令?使用 cron 的计划任务意味着你不用熬夜程序也可以运行. 系统管理员(在许多好处中)的挑战之一是在你该睡觉的时候去运行一些任务.例如,一些任务(包括定期循环运行的任务)需要在没有人使用计算机资源的时候去运行,如午夜或周末.在下班后,我没有时间去运行命令或脚本.而且,我也不想在晚上去启动备份或重大更新. 取而代之的是,我使用两个服务功能在我预定的时间去运行命令.程序和任务.cron 和 at 服务允许系统管理员去安排任务运行在未来的某个特定时间.at 服务指定在某个时间去运行一

  • linux系统中计划任务介绍

    目录 一.定制计划任务 二.同步时间 三.练习 四.安全问题 一.定制计划任务 1.atd服务(一次性) 1.atd服务对应的命令------>at 使用at命令时先要进行安装 [root@localhost lianxi]# yum install at -y 然后必须要起动atd服务,不然不会定时去执行任务的 [root@localhost lianxi]# service atd start Redirecting to /bin/systemctl start atd.service 案

  • Linux系统中日志详细介绍

    目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工作中的需求,rsyslogd服务支持的功能更加丰富. rsyslogd服务相比syslogd服务具有一些新的特点: 基于TCP网络协议传输日志信息. 更安全的网络传输方式. 有日志消息的及时分析框架. 后台数据库.配置文件中可以写简单的逻辑判断. 与syslog配置文件相兼容. 2.系统中常见的日志

  • 查看远程 Linux 系统中某个端口是否开启的三种方法

    这是一个很重要的话题,不仅对 Linux 管理员而言,对于我们大家而言也非常有帮助.我的意思是说对于工作在 IT 基础设施行业的用户来说,了解这个话题也是非常有用的.他们需要在执行下一步操作前,检查 Linux 服务器上某个端口是否开启. 假如这个端口没有被开启,则他们会直接找 Linux 管理员去开启它.如果这个端口已经开启了,则我们需要和应用团队来商量下一步要做的事. 在本篇文章中,我们将向你展示如何检查某个端口是否开启的 3 种方法. 这个目标可以使用下面的 Linux 命令来达成: nc

  • 解决Linux系统中python matplotlib画图的中文显示问题

    最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同

  • Linux系统中bash shell编程的10个基础问题讲解

    第1问:为何叫做shell? 在介绍 shell 是什么东西之前,不妨让我们重新审视使用者与电脑的关系.我们知道电脑的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,事实上,我们每天所谈的linux,严格来说只是一个操作系统,我们称之为"核心(kernel)".然而,从使用者的角度来说,使用者也没办法直接操作kernel,而是透过kernel的"外壳"程序,

  • 基于Linux系统中查看硬件等信息的方法详解

    本文介绍下,linux下查看硬件信息的命令与方法,包括主板序列号.cpu信息.内存信息.硬盘信息.网卡信息等.1,主板信息.查看主板的序列号 #使用命令dmidecode | grep -i 'serial number'#查看板卡信息cat /proc/pci 2,cpu信息 #通过/proc文件系统1) cat /proc/cpuinfo#通过查看开机信息2) dmesg | grep -i 'cpu'#3)dmidecode -t processor3,在linux系统中查看硬盘信息,常用

  • 浅谈Linux系统中的异常堆栈跟踪的简单实现

    在Linux中做C/C++开发经常会遇到一些不可预知的问题导致程序崩溃,同时崩溃后也没留下任何代码运行痕迹,因此,堆栈跟踪技术就显得非要重要了.本文将简单介绍Linux中C/C++程序运行时堆栈获取,首先来看backtrace系列函数--使用范围适合于没有安装GDB或者想要快速理清楚函数调用顺序的情况 ,头文件execinfo.h int backtrace (void **buffer, int size); 该函数用来获取当前线程的调用堆栈,获取的信息将会被存放在buffer中,它是一个指针

  • linux系统中修改tomcat默认输入日志路径的方法

    1.修改catalina.sh 进入tomcat安装目录/bin,找到catalina.sh,先进行备份. 对本地的catalina.sh进行修改,这里是以将日志目录修改为/data/logs为例,即将$CATALINA_BASE/logs/catalina.out改为CATALINA_OUT=/data/logs. 2.修改logging.properties 进入tomcat安装目录/conf/,找到logging.properties,先进行备份. 对本地的logging.properti

  • Linux系统中查找正在运行的nginx目录

    linux系统因为备份.不同版本等问题,导致ECS Linux上存放有多个Nginx目录,可以通过如下方法定位当前正在运行的Nginx的配置文件: 1. 查看nginx的PID,以常用的80端口为例: netstat -anop | grep 0.0.0.0:80 2. 通过相应的进程ID(比如:4562)查询当前运行的nginx路径: ll  /proc/4562/exe 3. 获取到nginx的执行路径后,使用-t参数即可获取该进程对应的配置文件路径,如: # /usr/local/ngin

  • 在Linux系统中如何使用ls命令按日期对文件进行排序

    ls命令用于列出目录内容,结果可以按几个条件排序,例如按日期,按字母顺序排列的文件名,修改时间,访问时间,版本和文件大小. 在本文中,我将向您展示如何使用Linux中的ls命令按日期对文件进行排序. 1)列出具有上次修改日期/时间的文件目录 要列出文件并在顶部显示最后修改的文件,我们将使用-lt选项和ls命令. [linuxidc@localhost www.linuxidc.com]$ ls -lt /run 输出如下: 总用量 60 -rw-rw-r--. 1 root utmp 1536

随机推荐