计划任务介绍

  我们可以通过一些设置。来让电脑定时提醒我们该做什么事了。或者我们提前设置好,告诉电脑你几点做什么几点做什么,这种我们就叫它定时任务。而遇到一些需要执行的事情或任务。我们也可以通过命令来告诉电脑一会临时把这个工作给做一下

总结:在我们LINUX中,我们可以通过crontab和at这两个东西来实现

计划任务的作用:是做一些周期性的任务,在生产中的主要用来定期备份数据

计划任务的安排方式分两种:

一种是定时性的,也就是例行。就是每隔一定的周期就要重复来做这个事情

一种是突发性的,就是这次做完了这个事,就没有下一次了,临时决定,只执行一次的任务

at和crontab这两个命令:

at:它是一个可以处理仅执行一次就结束的指令

crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直循环执行下去

at一次性计划任务使用

at语法格式:at 时间

at中编辑,删除打错的字,Ctrl+back(删除),Ctrl+d(保存)

1. 下载at程序

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

2. 启动atd服务,启动程序at,一般都是后面+d(daemon),atd表示启动at

[root@ken ~]# systemctl restart atd
[root@ken ~]# ps aux | grep atd
root 1166 0.0 0.1 25904 944 ? Ss 17:52 0:00 /usr/sbin/at -f
root 1168 0.0 0.1 112704 956 pts/0 S+ 17:52 0:00 grep --color=auto atd

3. 设置at计划任务

[root@ken ~]# at 10:00                       #如果是上午时间,后面加上am,比如9:20am
at> touch /tmp/test1 #输入你要执行的命令
at> <EOT> #按ctrl+d保存
job 1 at Fri Mar 1 10:00:00 2019
[root@ken ~]# at -l #查看计划任务
1 Fri Mar 1 10:00:00 2019 a root
[root@ken ~]# atq #查看计划任务
1 Fri Mar 1 10:00:00 2019 a root

4. 删除计划任务atrm

[root@ken ~]# at -l                           #第一步查看计划任务,获取前面编号
1 Fri Mar 1 10:00:00 2019 a root
[root@ken ~]# atrm 1 #删除计划任务加上编号
[root@ken ~]# at -l #再次查看计划任务发现已经删除

5. at计划任务的特殊写法

[root@ken ~]# at 20:00 2018-10-1   在某天
[root@ken ~]# at now +10min 在 10分钟后执行
[root@ken ~]# at 17:00 tomorrow 明天下午5点执行
[root@ken ~]# at 6:00 pm +3 days 在3天以后的下午6点执行

crontab定时任务的使用

语法:#crontab -u  -e

常用选项:

-l:list,列出指定用户的计划任务列表

-e:edit,编辑指定用户的计划任务列表

-u:user,指定的用户名,如果不指定,则表示当前用户

-r:remove,删除指定用户的计划任务列表

1. 查看进程是否启动

[root@ken ~]# ps aux | grep crond
root 621 0.0 0.3 126284 1600 ? Ss 17:46 0:00 /usr/sbin/crond -n
root 1194 0.0 0.1 112704 956 pts/0 S+ 18:05 0:00 grep --color=auto crond

2. 查看计划任务

[root@ken ~]# crontab -l
no crontab for root

3. 编写计划任务

计划任务的规则语法格式,以行为单位,一行为一个计划:

分 时 日 月 周 需要执行的命令

执行的命令建议写成绝对路径的格式!

如果分钟那个位置,显示的是*,就表示计划任务是每分钟执行一次计划任务,也就是一个小时执行60次。

如果需要每隔n分钟执行一次计划任务,那就是/n取代第一颗*。

小诀窍:寻找systemctl的绝对路径时候,因为编辑crontab计划任务时候,就是通过vim打开文件,进行编辑,故而我们可以使用!which来进行查找你所用的命令的绝对路径。

例如:如果想要每天的0点0分执行reboot指令,则可以写成

0 0 * * * reboot

取值范围(常识):

分:0~59

时:0~23

日:1~31

月:1~12

周:0~7,0和7表示星期天

四个符号:

*:表示取值范围中的每一个数字

-:做连续区间表达式的,要想表示1~7,则可以写成:1-7

/:表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10

,:表示多个取值,比如想在1点,2点6点执行,则可以在时的位置写:1,2,6

日常经常需要操作的是进行备份,将某个文件备份到另一个文件夹中,此时一般备注为时间+,所以经常使用date命令。这时候需要注意date命令中的%,因为%在vim中是有特殊的含义,%表示的是消除后面的所有,因此,这时候需要用\进行转义如下图。

如果不加\,如下图出现错误

问题1:每月1、10、22日的4:45重启network服务

45  4  1,10,22  *  *  systemctl restart network (每月,周没有制定)

问题2:每周六、周日的1:10重启network服务

10  1  *  *  6,7  systemctl restart network   (日、月没有指定)

问题3:每天18:00至23:00之间每隔30分钟重启network服务

*/30  18-23  *  *  *  systemctl restart network  ( 日 月 周 没有指定)

问题4:每隔两天的上午8点到11点的第3和第15分钟执行一次重启

3,15  8-11  */2  *  *  reboot   (月和周没有指定)

案例:真实测试案例,每1分钟往root家目录中的ken.txt中输一个123,为了看到效果使用追加输出

[root@ken ~]# crontab -e                    #编写计划任务
* * * * * echo "123" >> /root/ken.txt
[root@ken ~]# tail -f ken.txt #查看计划任务执行结果
123
123

4. 删除计划任务

[root@ken ~]# crontab -l
* * * * * echo "123" >> /root/ken.txt
[root@ken ~]# crontab -r
[root@ken ~]# crontab -l
no crontab for root

注意:在计划任务中,默认的最小单位就是分,不能再小了。

压缩归档

  1. 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。
  2. 了解归档的目的:归档的目的就是方便备份、还原及文件的传输操作。
  3. 掌握tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。
  4. 掌握tar命令的常用选项:
  • c:创建一个新的tar文件。
  • t:列出tar文件中目录的内容。
  • x:从tar文件中抽取文件。
  • f:指定归档文件或磁带(也可能是软盘)设备(一般都要选)。
  • v:显示所打包的文件的详细信息,v是verbose的第1个字母。
  • z:使用gzip压缩算法来压缩打包后的文件。
  • j:使用bzip2压缩算法来压缩打包后的文件(文件压缩的更小)

常用选项组合:

压缩归档:czvf

解压:xzvf

v是显示操作进程的,一般可以不需要。也就是直接压缩文档是czf,解压xzf

zip一般用unzip进行解压,gz一般用gunzip解压,tar.gz用tar xf 进行解压

1. 压缩归档

[root@ken ~]# mkdir test
[root@ken ~]# cd test
[root@ken test]# touch {1..10}.txt
[root@ken test]# tar czvf test.tar.gz ./*
./10.txt
./1.txt
./2.txt
./3.txt
./4.txt
./5.txt
./6.txt
./7.txt
./8.txt
./9.txt
[root@ken test]# ls
10.txt 2.txt 4.txt 6.txt 8.txt test.tar.gz
1.txt 3.txt 5.txt 7.txt 9.txt

2. 解压

[root@ken test]# rm -rf {1..10}.txt
[root@ken test]# ls
test.tar.gz
[root@ken test]# tar xzvf test.tar.gz
./10.txt
./1.txt
./2.txt
./3.txt
./4.txt
./5.txt
./6.txt
./7.txt
./8.txt
./9.txt
[root@ken test]# ls
10.txt 2.txt 4.txt 6.txt 8.txt test.tar.gz
1.txt 3.txt 5.txt 7.txt 9.txt

可以加上-C制定解压到那个目录

[root@ken test]# tar xvf test.tar.gz -C /tmp
./10.txt
./1.txt
./2.txt
./3.txt
./4.txt
./5.txt
./6.txt
./7.txt
./8.txt
./9.txt
[root@ken test]# ls /tmp
10.txt 2.txt 4.txt 6.txt 8.txt ks-script-8jIJc_ yum.log
1.txt 3.txt 5.txt 7.txt 9.txt vmware-root

20190409Liunx中计划任务及压缩归档week2_day1的更多相关文章

  1. Linux计划任务及压缩归档(week2_day1)--技术流ken

    计划任务介绍 我们可以通过一些设置.来让电脑定时提醒我们该做什么事了.或者我们提前设置好,告诉电脑你几点做什么几点做什么,这种我们就叫它定时任务.而遇到一些需要执行的事情或任务.我们也可以通过命令来告 ...

  2. Linux计划任务及压缩归档

    计划任务介绍 自动执行,备份数据. crontab    和   at : at:它是一个可以处理仅执行一次就结束的指令 crontab:它是会把你指定的工作或任务,比如:脚本等,按照你设定的周期一直 ...

  3. 末学者笔记--Linux计划任务及压缩归档

    一.计划任务 1.介绍: (1)定义:简单说就是通过一些设置,来使linux系统定时执行一些操作与任务. (2)作用:一般可执行一些周期性操作,也可定期备份数据. (3)可使用的命令:常用为at和cr ...

  4. Linux计划任务与压缩归档

    计划任务分为两种形式 第一种:定时性的:也就是例行,每隔一定的周期就要重复来做这个任务. 第二种:突发性的:临时决定,只执行一次的任务. 用到的命令有两个 at:它是一个可以处理仅执行一次的任务就结束 ...

  5. linux进阶之计划任务及压缩归档

    本节内容 1. at一次性计划任务(atd) at 时间点 command ctrl+d:保存 -l:查看计划任务 atrm:删除计划任务 atq:查看计划任务 2. crontab周期性计划任务(c ...

  6. linux下用tar命令将当前目录下文件按子目录压缩归档

    作者:iamlaosong 日常工作中,我们常常需要用tar命令将历史文件压缩归档,再删除源文件,以便节省空间.如果压缩归档成一个文件,就比较简单,用一条命令即可,如命令:tar -czf bak20 ...

  7. tar 压缩归档

    压缩归档 掌握归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件. 了解归档的目的:归档的目的就是方便备份.还原及文件的传输操作. 掌握tar命令的功能:将多个文件(也可能包 ...

  8. Shell + crontab 实现日志压缩归档

    Shell + crontab 实现日志压缩归档 crontab # archive the ats log days. */ * * * * root /bin/>& shell #! ...

  9. Linux中计划任务、周期性任务设置

    Linux中计划任务.周期性任务设置 计划任务:指在未来的特定时间里,执行一次某一特定任务.当然,如果同一任务需要在不同时间点执行执行两次.三次或多次,可以视为多个一次看待. 周期性任务:指某一任务需 ...

随机推荐

  1. SQL 问题记录

    今天在处理SQL的时候遇到几个问题: 1.如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中 select distinct id from 收费站 ...

  2. Bash script set help function

    set -o nounset help() { cat <<- EOF Desc: execute f1x for each case in Codeflaws Usage: ./exec ...

  3. spark连数据库

    DataFrame提供了一条联结所有主流数据源并自动转化为可并行处理格式的渠道,通过它Spark能取悦大数据生态链上的所有玩家,无论是善用R的数据科学家,惯用SQL的商业分析师,还是在意效率和实时性的 ...

  4. 关于v$librarycache的几个字段含义

    对v$librarycache中的get,pin和reload的含义: Gets: (Parse) The number of lookups for objects of the namespace ...

  5. SQLite可视化工具SQLite studio

    特点: 1.轻量级2.独立性,没有依赖,无需安装3.隔离性 全部在一个文件夹系统4.跨平台 支持众多操作系统5.多语言接口 支持众多编程语言6.安全性 事物,通过独占性和共享锁来实现独立事务的处理,多 ...

  6. Linux基本的命令使用2018-4-20 18:47:28

    1.1ls -a 显式所有文件,包括隐藏文件 1.2  ls -l  列表形式显式文件名称 1.3  ls -l -h 列表显式大小和名称 也可以这样写 ls -alh  (-可以省略) 重定向 ls ...

  7. windows修改PowerShell(命令提示符)默认中文编码方式

    如果以下方法都没有作用的话,可以直接在代码中调用<stdlib.h>中的system("mode con cp select=65001")或者是system(&quo ...

  8. tensorflow学习笔记————分类MNIST数据集

    在使用tensorflow分类MNIST数据集中,最容易遇到的问题是下载MNIST样本的问题. 一般是通过使用tensorflow内置的函数进行下载和加载, from tensorflow.examp ...

  9. python学习之旅(六)

    Python基础知识(5):基本数据类型之字符串(Ⅱ) 字符串方法 17.join:对字符串进行拼接 x="can" y="li" y.join(x) 结果: ...

  10. dubbo控制器xml文件报错

    在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心. 报错信息如下: Multiple annotations found at th ...