第五周-【定时任务面试题】(8K 必会)
本章答案链接: https://pan.baidu.com/s/1AUk5_-G4kvrpXxxV_n_HoQ 提取码: gkh7
点击此链接查看图片 定时任务书写格式—运维大神必会的专业书写步骤(01)
点击此链接查看图片 定时任务书写格式—运维大神必会的专业书写步骤(02)
1.1.1 选择
1.1.1.1 Linux下Crontab文件,每个域之间用空格分割,其排列如下正确的是: B
A.MIN HOUR DAY MONTH YEAR COMMAND
B.MIN HOUR DAY MONTH DAYOFWEEK COMMAND
C.COMMAND HOUR DAY MONTH DAYOFWEEK
D.COMMAND YEAR MONTH DAY HOUR MIN
1.1.1.2 编辑root任务调度命令 B D
crontab -l
crontab -e
crontab -E
vim /var/spool/cron/root
1.1.1.3 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业,其基本格式为:* * * * * ,其中第五个星号代表C
分钟
小时
星期
日期
1.1.1.4 以下crontab命令在何时会执行(D)
05 01 * * 1 sh /data/nginx_log/ftp_nginxlog.sh >/dev/null/ 2>&1
每天一点五分
每天五点一分
每星期一五点一分
每星期一一点五分
1.1.2 填空
1.1.2.1 由crontab命令定制(脚本文件)执行test用户家目录下的程序sum的格为:
\* * * * * /home/test/sum.sh >/dev/null 2>&1
\* * * * * /home/test/sum.sh &>/dev/null
1.1.2.2 Linux系统计划任务编辑命令
1.1.3 简答
1.1.3.1 以下字段可能和哪个服务有关,表示什么意思
*/5 * * * * ping -c 100 www.wanmei.com > /root/network.log 2>&1
1.每 5 分钟 ping 域名 100 次并把结果定向到/root/network.log 中,每次这个文件都会被清空.
2.与 DNS 服务有关 ping 可以测试域名是否能正常解析
域名====>ip 地址
1.1.3.2 如何备份生产环境的定时任务?(生产环境的定时任务默认跑在root用户下)
生产环境:线上环境,用户正在使用环境
就是如何备份/var/spool/cron的目录或/var/spool/cron/root
方法 1.cp(可以.不推荐)
方法 2.tar 打包压缩 目录
1.1.3.3 写一条计划任务,在每天晚上的3:05分执行脚本/usr/script/tongji.sh
#tongji by liyy at 20190101
05 03 * * * /bin/sh /usr/script/tongji.sh >/dev/null 2>&1
1.1.3.4 crontab里0 2 * * 1 /data/postmall/shell/a.sh表示什么含义?
每周一的凌晨2点整执行a.sh脚本
1.1.3.5 写一条crontab条目,每天的22点钟删除/test/下的所有文件
方法 1:删除目录下所有文件(仅仅是文件)
#rm /test files
00 *22 * * * find /test -type f|xargs rm >/dev/null 2>&1
方法2:
书写脚本del.sh:
#!/bin/bash
cat /server/scripts/del.sh
find /test -type f |xargs rm -f
定时任务:
00 22 * * * sh /server/scripts/del.sh >/dev/null 2>&1
1.1.3.6 某系统管理员需每天做一定的重复工作,请按照下列要求,编织一个解决方案:
(1) 在下午4:50删除/abc目录下的全部子目录和全部文件
50 16 * * * rm -rf /abc/* >/dev/null 2>&1
(2)每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz
方法1:
书写脚本:
#!/bin/bash
tar zcf /backup/backup-`date +%F`.tar.gz /data
定时任务:
#backup data
50 17 * * 01 sh /server/scripts/bak-data.sh >/dev/null 2>&1
方法2:
定时任务:
#backup data
50 17 * * 01 tar zcf /backup/backup-`date +\%F`.tar.gz /data >/dev/null 2>&1
1.1.3.7 在每周6的凌晨3:15执行/home/shell/collect.pl,并将标准输出和标准错误输出到/dev/null设备,请写出crontab中的语句
扩展名 什么脚本 用什么运行
.pl .perl 脚本 perl
.py .python python
.sh .bash shell 脚本 sh
定时任务:
#zhixing /home/shell/collect.pl
15 03 * * 06 perl /home/shell/collect.pl >/dev/null 2>&1
1.1.3.8 设计一个shell程序,每月第一天执行
#shells
00 00 01 * * CMD >/dev/null 2>&1
1.1.3.9 有一个/opt/backup.sh脚本,如何在10月的每天早上06到18每3小时执行并在13点单独执行一次。
#backup
00 06-18,/3,13 * 10 * sh /opt/backup.sh >/dev/null 2>&1
1.1.3.10 每个月的一号,零点十五执行脚本/usr/bin/httpd.sh,如何实现?
#exec httpd
15 00 01 * * sh /usr/bin/httpd.sh >/dev/null 2>&1
1.1.3.11 在11月份内,每天的早上6点到12点中,每隔2小时执行一次/ust/bin/httpd.sh 怎么实现
#exec httpd.sh
00 06-12,/2 * 11 * sh /ust/bin/httpd.sh >/dev/null 2>&1
1.1.3.12 linux服务器,如何实现每天早上5点重启
#reboot
00 05 * * * /sbin/reboot >/dev/null 2>&1
1.1.3.13在11月份每天早晨6点到10点 每隔两个小时 执行/usr/bin/httpd.sh
#exec httpd.sh
00 06-10,/2 * 11 * sh /usr/bin/httpd.sh
1.1.3.14/var/www/html/是网站的发布目录。如何每天凌晨0点30对其进行自动备份。写出操作步骤?
工作中 /var/www/html/是网站的发布目录 站点目录(网站程序代码存放的地方)
书写笔试题的时候:目录:面试哪家写哪个
1.书写脚本bak-www.sh:
#!/bin/bash
tar zcf /backup/www-`date +\%F`.tar.gz /var/www/html
2.定时任务:
#backup
30 00 * * * sh /server/scripts/bak-www.sh
1.1.3.15用一普通用户想在每周日零点零分定期备份/user/backup 到 /tmp 目录下,该用户应如何做?
su - lcx \\普通用户
crontab -e \\编辑定时任务
可以直接
crontab -u oldboy -e \\进入普通用户下的定时任务 -u 指定要设定计时器的用户名称\
1.书写脚本:
#!/bin/bash
tar zcf /tmp/backup-`date +\%F`.tar.gz /user/backup
2.编辑定时任务bak-user.sh:
#backup
00 00 * * 00 sh /server/scripts/bak-user.sh
1.1.3.16Unix系统上需要创建以下crontab定时任务:在每周5的凌晨1:10执行命令,将当时系统中含有“asiainfo” 关键字的进程信息查询处理,并追加记录到/progress.log文件中
定时任务:
#ps asiainfo
10 01 * * 05 ps -ef|grep ‘asiainfo’ >>/progress.log 2>&1
1.1.3.17在每个月的第一天备份并压缩/etc目录下的所有内容,存放在/root/backup 目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。
1.书写脚本bak-etc.sh:
#!/bin/bash
tar zcf /root/backup/etc-`date +\%Y_%m_\%d`.tar.gz /etc
2.定时任务:
#backup /etc
00 00 01 * * sh /server/scripts/bak-etc.sh >/dev/null 2>&1
1.1.3.18说一下crontab的配置,尽可能多的写出来
点击此链接 定时任务书写格式—运维大神必会的专业书写步骤(01)
点击此链接 定时任务书写格式—运维大神必会的专业书写步骤(02)
什么时间做什么 * * * * * 命令/脚本 >/dev/null 2>&1
命令行测试
编写脚本
测试脚本
编辑crontab
1.1.3.19以下字段可能和那个服务有关,表示什么意思
*/5 * * * * ping -c 100 ue.game.com > /root/network.log 2>&1
1.与定时任务有关
每5分钟ping这个网站域名100次并把结果定向到/root/network.log中,每次这个文件会被清空
2.与DNS服务有关 ping 可以测试域名是否能正常解析
1.1.3.20请写出一条计划任务,每天将文件倒数1000行内容在10:00整的时候追加到/tmp的list文件内
定时任务:
#zhuijia files
00 10 * * * /usr/bin/tail -n 1000 files >>/tmp/list 2>&1
1.1.3.21如何稳定(固定)执行计划
1.查看当前定时任务是否运行
a.systemctl
systemctl is-active crond
active \\正在运行
b.ps
ps -ef|grep crond
2.查看定时任务是否开机自启动
systemctl is-enabled crond
enabled \\已启动
3.确保reuslog是否运行 是否开机自启动 \\rsyslog:自动写系统日志的文件
systemctl is-active rsyslog
active
systemctl is-enabled rsyslog
enabled
4.定时任务书写要规范专业