第五周-定时任务面试题(8K 必会)

本章答案链接: https://pan.baidu.com/s/1AUk5_-G4kvrpXxxV_n_HoQ 提取码: gkh7

@ 作 为 运 维 大 神 一 定 要 专 业 ! 专 业 ! 专 业 ! \color{blue}{@作为运维大神 一定要专业!专业!专业!} @

点击此链接查看图片 定时任务书写格式—运维大神必会的专业书写步骤(01)
点击此链接查看图片 定时任务书写格式—运维大神必会的专业书写步骤(02)

此 试 题 所 有 的 脚 本 文 件 均 在 / s e r v e r / s c r i p t s / 下 , 在 工 作 中 最 好 也 放 在 一 起 \color{red}{此试题所有的脚本文件均在 /server/scripts/下,在工作中最好也放在一起} /server/scripts/,

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系统计划任务编辑命令 c r o n t a b − e 或 v i m / v a r / s p o o l / c r o n / r o o t \color{red}{crontab -e 或vim /var/spool/cron/root} crontabevim/var/spool/cron/root

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.定时任务书写要规范专业

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值