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

时间:2023-11-10 23:51:20

一.计划任务

1.介绍:

(1)定义:简单说就是通过一些设置,来使linux系统定时执行一些操作与任务。

(2)作用:一般可执行一些周期性操作,也可定期备份数据。

(3)可使用的命令:常用为at和crontab这两个命令;

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

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

二.“at”一次性任务

(1)下载“at”程序(一般Linux没有此程序)

  指令:——#yum install at -y

(2)启动服务“atd”:

  ——#systemctl restart atd

  可查看服务是否启动:

  ——#ps aux | grep atd

(3)设置:

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

  删除任务设置:——atrm

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

  at设置的其他写法:

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

三.crontab定时任务的使用

1.语法:#crontab  -u  -e

常用选项:

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

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

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

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

2. 查看进程服务是否启动

[root@feige~]# 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

3. 查看计划任务

[root@feige ~]# crontab -l

no crontab for root

4. 编写计划任务

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

*  *  *   *  *

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

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

例如:如果想要每天的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

问题1:每月1、8、20日的5:30重启network服务

30  5  1,8,20  *  * systemctl restart network(每月,周没有制定,用*)

问题2:每周六、周日的0:30重启network服务

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

5. 删除计划任务

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

[root@feige ~]# crontab -e                    #编写计划任务

* * * * * echo "123" >> /root/ken.txt

[root@feige ~]# tail -f ken.txt               #查看计划任务执行结果

123

123

[root@feige ~]# crontab -l                       #查看已设的计划任务

* * * * * echo "123" >> /root/ken.txt

[root@feige ~]# crontab -r

[root@feige ~]# 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压缩算法来压缩打包后的文件(文件压缩的更小)

5.常用选项组合:

压缩归档:czvf

解压:xzvf

  1. 压缩归档实例:

(1)压缩:

[root@feige ~]# mkdir test

[root@feige ~]# cd test

[root@feige test]# touch {1..10}.txt

[root@feige 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@feige 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@feige test]# rm -rf {1..10}.txt

[root@feige test]# ls

test.tar.gz

[root@feige 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@feige test]# ls10.txt  2.txt  4.txt  6.txt  8.txt  test.tar.gz1.txt   3.txt  5.txt  7.txt  9.txt

【注】可以加上-C指定解压到那个目录

[root@feige 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@feige test]# ls /tmp

10.txt  2.txt  4.txt  6.txt  8.txt  ks-script-8jIJc_  yum.log1.txt   3.txt  5.txt  7.txt  9.txt  vmware-root