一.计划任务
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)设置:
删除任务设置:——atrm
at设置的其他写法:
三.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)压缩:
[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