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

文章详细介绍了Linux系统中的Crontab定时任务设置,包括Crontab文件结构、编辑命令、任务格式、crontab命令执行时间、脚本调度、文件权限、备份策略以及如何编写和解读crontab条目。
摘要由CSDN通过智能技术生成

\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}

crontab−e或vim/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)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中…(img-C4ZUpTG0-1714383939082)]
[外链图片转存中…(img-psvPF4Dw-1714383939082)]
[外链图片转存中…(img-RndlfcXo-1714383939082)]
[外链图片转存中…(img-15GhIVXH-1714383939083)]
[外链图片转存中…(img-EwbDvQlf-1714383939083)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值