Linux定时任务知识与实践(课堂笔记)

Day17


作者:孙鹏鹏

归档:课后笔记

时间:2019/3/22


快捷键:

Ctrl + 1    标题1

Ctrl + 2    标题2

Ctrl + 3    标题3

Ctrl + 4    标题4

Ctrl + 5    程序代码

Ctrl + 6    正文

Ctrl + 7    实例1-1

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux 385168604架构师390642196

Python 29215534大数据421358633

官方网站:

http://www.oldboyedu.com 

目  录

第一章:

1.1  SUID:

Linux定时任务知识与实践(课堂笔记)_第1张图片

1.2 SGID:

作用之一:

Sqid 的作业就是让普通用户可以执行某个设置sgid位的命令时,

拥有和命令对应用户组(一般为root用户组)一样的身份和权限(默认)                               

Locate搜索内容,默认从updatadb对应的数据库中查找

Uodatedb更新locate查找内容对应的数据库

Linux定时任务知识与实践(课堂笔记)_第2张图片

1.3sbit粘字位:

Linux定时任务知识与实践(课堂笔记)_第3张图片

1.4重点

Linux定时任务知识与实践(课堂笔记)_第4张图片

1.5Linux系统定时任务:

1.什么是定时任务?

周期性的执行任务计划的软件,Linux定时任务的常用软件crond

2.使用定时任务软件,可以每天,每小时按你的需求重复的执行一项工作

例如:备份 都是0点以后,2点爬起来备份,4点以后睡觉

需要写一个程序实现自动备份,然后让定时任务软件帮你执行。

闹钟。。。。

3、怎样用。

(1)用户定时任务

在Linux系统中

Cron是定时任务的软件名

Crond是服务进程名

Croneab命令是用来设置定时任务规则的配置命令。

配置定时任务时,首先启动crond服务。

Linux定时任务知识与实践(课堂笔记)_第5张图片
Linux定时任务知识与实践(课堂笔记)_第6张图片

(2)系统定时任务计划

不用管理员参与,系统自动执行。

Linux定时任务知识与实践(课堂笔记)_第7张图片

编写定时任务的语法:

Linux定时任务知识与实践(课堂笔记)_第8张图片

共六列:

第一列: 分钟 minute          (0-59

第二列:小时   hour            (0-23

第三列:日     day of month     (1-31

第四列:月     month           (1-12

第五列:周     day of week       (0-6

第六列:要执行的任务命令或程序

特殊符号:

* 表示的  每(每一天,每一月,每一周等)  的意思

- 连续区间    1-10

, 列举  1,2,3,4,8

/n  n是数字  即“每隔n单位时间

Linux定时任务知识与实践(课堂笔记)_第9张图片

实践:

1、每分钟追加一次oldboy字符串到/tmp/oldboy.log里。

解答:大象放冰箱分三步

a.命令行执行成功。

[root@oldboyedu ~]# echo

"oldboy">>/tmp/oldboy.log

[root@oldboyedu ~]# cat /tmp/oldboy.log

oldboy

[root@oldboyedu ~]# echo

"oldboy">>/tmp/oldboy.log

[root@oldboyedu ~]# cat /tmp/oldboy.log

oldboy

oldboy

b.配置定时任务crontab -e 编辑配置

 [root@oldboyedu ~]# crontab -l

#####

* * * * * echo "oldboy">>/tmp/oldboy.log

c.检查

[root@oldboyedu ~]# tail -f /tmp/oldboy.log

oldboy

oldboy

oldboy

老男孩思想:

 1)先输入* * * * *

 2)先命令行操作成功。

 3)拷贝命令到定时任务编辑里。

范例13-3:每天晚上0点,把站点目录/var/www/html下的内容打包备份到/data目录下,并且要求每次生成不同的备份包名。

至少分三步:

1.命令行稿成功

准备工作:

[root@oldboyedu ~]# mkdir /var/www/html

/data -p

具体命令:

[root@oldboyedu ~]# tar zcvf

/data/html_$(date +%F).tar.gz /var/www/html/

tar: Removing leading `/' from member names

/var/www/html/

[root@oldboyedu ~]# ll /data

total 4

-rw-r--r-- 1 root root 117 Mar 22 11:59

html_2019-03-22.tar.gz

2、编写定时任务

[root@oldboyedu ~]# crontab -l

00 00 * * * tar zcvf /data/html_$(date

+%F).tar.gz /var/www/html/

错了,不执行。。。。

看报错日志。。。错误日志

定时任务没有执行,出错了日志在哪里?

出错日志/var/log/cron

Mar 22 12:03:01 oldboyedu CROND[18770]:

(root) CMD (tar zcvf /data/html_$(date +)

定时任务对%的要求,百分号要转义。\%

正确答案:

[root@oldboyedu ~]# crontab -l

00 00 * * * tar zcvf /data/html_$(date

+\%F).tar.gz /var/www/html/

优秀的答案(企业里):

1.命令行执行

cd /var/www

tar zcf /data/html_$(date +%F).tar.gz

./html

2.尽量用脚本文件实现

#mkdir /server/scripts -p #存放脚本的文件

cd /server/scripts

#cat bak.sh

cd /var/www

tar zcf /data/html_$(date +%F).tar.gz

./html

命令行执行:

/bin/sh /server/scripts/bak.sh

3、编辑定时任务

#bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/bak.sh

&>/dev/null

[root@oldboyedu /server/scripts]# crontab

-l|tail -2

#bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/bak.sh

&>/dev/null

4、检查正式结果

[root@oldboyedu /server/scripts]# ls -l

/data

Linux定时任务知识与实践(课堂笔记)_第10张图片

你可能感兴趣的:(Linux定时任务知识与实践(课堂笔记))