Day 23 定时任务
第1章 特殊权限
1.1 Suid
1.1.1 作用:运行某一命令的时候相当于这个命令的所有者root
1.1.2 S -rwsr-xr-x
1.1.3 设置方法 chmod u+s /bin/rm 或chmod 4755 /bin/rm
1.2 sticky粘滞位 1777 /tmp目录
1.2.1 任何人都可以在这个目录里面创建文件(原来的权限是777)
1.2.2 每个人只能管理自己的文件,其他人管理不了
[root@oldboyedu50-lnb ~]# ls -ld /bin/ls /usr/bin/passwd /tmp/ /usr/bin/locate
-rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls 查看目录权限
drwxrwxrwt. 3 root root 4096 Jul 25 16:27 /tmp/
-rwx--s--x. 1 root slocate 38464 Mar 12 2015 /usr/bin/locate
-rwsr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd #SUID
[root@oldboyedu50-lnb ~]# ll /bin/ls /bin/touch 查看权限不加特殊权限
-rwxr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls
-rwxr-xr-x. 1 root root 52560 Mar 23 2017 /bin/touch
[root@oldboyedu50-lnb ~]# chmod u+s /bin/ls /bin/touch 加特殊权限
[root@oldboyedu50-lnb ~]# ll /bin/ls /bin/touch
-rwsr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls
-rwsr-xr-x. 1 root root 52560 Mar 23 2017 /bin/touch
[root@oldboyedu50-lnb ~]# chmod u+s /bin/ls
[root@oldboyedu50-lnb ~]# ll /bin/ls
-rwsr-xr-x. 1 root root 117048 Mar 23 2017 /bin/ls
[root@oldboyedu50-lnb ~]# stat /bin/ls 查看权限
File: `/bin/ls'
Size: 117048 Blocks: 232 IO Block: 4096 regular file
Device: 803h/2051d Inode: 263579 Links: 1
Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-08-06 09:13:37.131651698 +0800
Modify: 2017-03-23 02:52:45.000000000 +0800
Change: 2018-07-25 16:37:29.016952182 +0800
第2章 定时任务
2.1 分类
2.2 atd 运行一次(指定时间)
2.3 crond (crontab)7*24小时运行 定时任务软件(软件包cronie)(系统定时任务/用户定时任务)
2.4 anacron 非7*24小时运行的服务器
2.5 系统定时任务
2.6 用户定时任务
crontab -l === cat /var/spool/cron/root 查看用户定时任务
crontab -e === vi /var/spool/cron/root 编辑用户定时任务
crontab语法检查功能(定时任务格式)
/var/spool/cron/root root用户定时任务
2.7 检查定时任务是否运行? crond
2.7.1 是否正在运行
ps -ef |grep crond
#process
[root@oldboyedu50-lnb ~]# ps -ef |grep crond
root 1781 1 0 16:23 ? 00:00:00 crond
root 2247 1842 0 17:51 pts/1 00:00:00 grep crond
2.7.2 是否开机自启动
chkconfig|grep crond
2.8 定时任务配置文件格式
分时日月周
2.8.1 例题
1.每天的上午8点30分,来学校上车(go to school)
30 08 * * * go to school
2.每天晚上12点准时,回家自己开车(go to bed)
00 00 * * * go to bed
2.9 定时任务书写流程
#1.命令
[root@oldboyedu50-lnb ~]# echo oldboy >>/tmp/name.log
[root@oldboyedu50-lnb ~]# cat /tmp/name.log
oldboy
#2.书写定时任务
[root@oldboyedu50-lnb ~]# crontab -l
#print name oldboy at 2018xxxxx
* * * * * echo oldboy >>/tmp/name.log
#3.检查
##1.检查文件内容
##2.检查日志
[root@oldboyedu50-lnb ~]# cat /tmp/name.log
oldboy
oldboy
##1.命令
[root@oldboyedu50-lnb ~]# ntpdate ntp1.aliyun.com
8 Aug 11:37:51 ntpdate[2459]: step time server 120.25.115.20 offset 1181696.507577 sec
[root@oldboyedu50-lnb ~]# which ntpdate
/usr/sbin/ntpdate
[root@oldboyedu50-lnb ~]# /usr/sbin/ntpdate ntp1.aliyun.com
8 Aug 11:38:22 ntpdate[2466]: adjust time server 120.25.115.20 offset 0.003507 sec
##2.写入定时任务
[root@oldboyedu50-lnb ~]# crontab -l
##print name oldboy at 2018xxxxx
#* * * * * echo oldboy >>/tmp/name.log
#sync time oldboy at 2018xxxxx
*/2 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
##3.检查
修改系统时间
查看定时任务日志
Aug 8 11:46:02 oldboyedu50-lnb CROND[2507]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Aug 8 11:48:01 oldboyedu50-lnb CROND[2512]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Aug 8 11:50:01 oldboyedu50-lnb CROND[2522]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
2.9.1 例题
每天的上午7点到上午11点 每2小时运行CMD命令
00 07-11/2 * * * CMD
00 07,09,11 * * * CMD
第3章 脚本
[root@oldboyedu50-lnb ~]# mkdir -p /server/scripts 创建环境
[root@oldboyedu50-lnb /server/scripts]# cat show.sh 查看脚本内容
date +%F_%T
[root@oldboyedu50-lnb /server/scripts]# sh /server/scripts/show.sh 运行脚本
2018-08-08_12:25:57
3.1 总结:
3.1.1 检查软件是否安装 软件包内容 安装软件包(rpm)
3.1.2 检查进程是否存在
3.1.3 定时任务格式 特殊符号
3.1.4 定时任务书写流程
转载于:https://blog.51cto.com/13859649/2156272