admin 管理员组

文章数量: 887007

Linux 第八周作业

Linux第八周作业

第一部分(系统定时任务部分)

1.某系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1).从下午4:50删除/abc目录下的全部子目录和全部文件;
(2).每逢周一下午5:50将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;

[root@Qeam etc]# cat /etc/crontab
[root@Qeam ~]# crontab -e
50 4 * * * /usr/bin/rm /abc/*
50 4 * * 1 /usr/bin/tar -zvcf backup.tar.gz /data​

2.在每个月的第一天压缩/etc目录下的所有内容,存放在/root/backup目录里,且文件名为当前系统时间?

* * 1 * * /usr/bin/tar -zvcf /root/backup/$(date "+%Y-%m-%d" ).tar.gz /etc 

3.每周三01:00~04:00每3分钟执行一次/home/data/demo.sh

/3 1-4 * * 3 /bin/bash /home/data/demo.sh

4.每周一到周六的凌晨3点20分,运行tar命令对/etc/目录进行存档另存,存储位置为/data/bak,文件名为“system_+当前系统时间”

20 3 * * 1-6 /usr/bin/tar -zvcf  /data/bak/system_$(data_"%Y-%m-%d").tar.gz /etc

5.每日凌晨2点30分,运行cp命令对/etc/fstab文件拷贝到/tmp下

32 2 * * * /usr/bin/var/cp /etc/fstab /tmp

6.每月每天凌晨3点30分和中午12点20分执行test.sh脚本

30 3 * * *  /usr/bin/bash /home/test.sh
20 12 * * * /usr/bin/bash /home/test.sh

7.每月每天每隔6小时的每30分钟执行test.sh脚本

/30 /6 * * * /usr/bin/bash /home/test.sh

8.每月每天早上8点到下午18点每隔2小时的每30分钟执行test.sh脚本

/30 8-18/2 * * * /usr/bin/bash /home/test.sh

9.每月每天晚上21点30分执行test.sh脚本

30 21 * * * /usr/bin/bash /home/test.sh

10.每月1号、10号、22号凌晨4点45分执行test.sh脚本

45 4 1,10,22 * * /usr/bin/bash /home/test.sh

11.8月份周一、周日凌晨1点10分执行test.sh脚本

10 1 * 8 1,7 /usr/bin/bash /home/test.sh

12.每月每天每小时整点执行test.sh脚本

* */1 * * * /usr/bin/bash /home/test.sh

13.每月的4号与每周一到周三的11点重启vsftpd服务

* 11 4 * 1-3 service restart vsftpd

14.解释如下命令的含义

30 3,12 * * * /usr/bin/sh /scripts/oldboy.sh

1、每天的3点半和12点半 执行脚本

30 */6 * * * /usr/bin/sh /scripts/oldboy.sh

1、每天从0:30开始每隔6小时 执行脚本

30 8-18/2 * * * /usr/bin/sh /scripts/oldboy.sh

1、每天从8点半到18点半 每隔两个小时 执行脚本

30 21 * * * /usr/sbin/nginx -s reload

1、每天21点半 重启nginx服务

45 4 1,10,22 * * /usr/sbin/nginx -s reload

1、每个月的1,10,22号4点45 重启nginx服务

10 1 * * 6,0 /usr/sbin/nginx -s reload

1、每个周六周日的1点10分 重启nginx服务

0,30 18-23 * * * /usr/sbin/nginx -s reload

1、每天18到23时的0分和30分 重启nginx服务

00 11 * 4 1-3 /usr/sbin/nginx -s reload

1、4月份的每周一到周三的11点 重启nginx服务

15.写一条计划任务,在每天晚上的3:05分执行脚本/usr/script/tongji.sh

5 3 * * * /usr/bin/bash /usr/script/tongji.sh

16.在每周6的凌晨3:15执行/home/shell/collect.pl,并将标准输出和标准错误输出到/dev/null设备,请写出crontab中的语句

15 3 * * 6 /usr/bin/bash /home/shell/collect.pl &> /dev/null​

17.每分钟打印你的名字到oldboy.txt中。

/1 * * * * /usr/bin/echo qeam >> oldboy.txt

18.每周六的早上8点到12点,执行/scripts/test.sh脚本。

* 8-12 * * 6 /usr/bin/bash /home/test.sh

19.每个月的1号,执行/scripts/oldboy.sh脚本

* * 1 * * /usr/bin/bash /script/oldboy.sh

20.每年的10月份1号到7号,执行/scripts/holiday.sh脚本

* * 1-7 10 * /usr/bin/bash /script/holiday.sh

21.每天的9点和11点,执行/scripts/test.sh脚本

* 9,11 * * * /usr/bin/bash /script/test.sh

22.每分钟把系统时间追加到一个文件中,以2019-06-15_13:54:10格式

/1 * * * * /usr/bin/echo $(data "%y-%m-%d_ %H:%M:%S") &>/test/test.txt

23.每分钟执行一次时间同步。

* * * * * ntpdate time.windows

24.使用ps查看进程,解释进程状态中R,S,D,Z,X,T所代表的含义

   R :该程序目前正在运作,或者是可被运作;S :该程序目前正在睡眠当中 (可说是 idle 状态啦!),但可被某些讯号(signal) 唤醒。T :该程序目前正在侦测或者是停止了Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态D :无法中止的进程,一般为通I/0的进程X :死掉的进程

25.使用yum安装一个nginx并启动,查看nginx进程的详细信息

26.输入top命令,解释头六行每行每列所代表的含义(不算空行)

27.开两个终端,在一个终端输入top命令,另一个终端终止该进程,查看效果

28.在linux中输入如下命令"(while :; do uptime; sleep 1; done) &" ,新开一个终端查看该进程的状态,并尝试终止该进程
29.使用"vim test.c"编辑代码代码如下
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
pid_t pid;
pid = fork();
if (pid == 0) {
int iPid = (int)getpid();
fprintf(stderr,“I am child,%d\n”,iPid);
sleep(1);
fprintf(stderr, “Child exits\n”);
return EXIT_SUCCESS;
}
int iPid = (int)getpid();
fprintf(stderr,“I am parent,%d\n”,iPid);
fprintf(stderr, “sleep…\n”);
sleep(600);
fprintf(stderr, “parent exits\n”);
return EXIT_SUCCESS;
}
然后使用"gcc test.c"编译这段代码,会在当前目录生成一个a.out的文件,使用"./a.out"执行该文件(如果没有gcc命令,则使用yum进行安装)

(1)新开一个终端,使用top命令查看进程状态,是否存在一个僵尸进程

(2)使用ps命令查看该僵尸进程的状态

(3)使用kill命令尝试终止该僵尸进程(不要使用-9参数强制终止),然后查看该进程的状态,是否能够终止

(4)杀死该僵尸进程的父进程,查看该进程是否被终止

本文标签: Linux 第八周作业