第四周作业

一.自定义写出10个定时任务的示例

1.#每周三凌晨三点执行date命令 0 3 * * 3   date

2.#在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup

0 6-12/3 * 12 * /usr/bin/backup

3.#每月1、10、22日的4 : 45重启apache

45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart

4.每周六晚上十一点重启smb服务

0 23 * * 6 systemctl restart smb

5.八月份周一,周日凌晨一点十分执行/tmp/test.sh

  10 1 * 8 0,1 /tmp/test.sh

6.每月四号每周1-3十一点重启主机

0 11 4 * 1-3 reboot

 

7.每天晚上12点,将/var/www/html/目录下的所有内容打包,文件名自拟,打包文件放在/tmp目录下

0 0 * * * tar -zcf /tmp/test.tar.gz /var/www/html/*

8.每月11、22日的4:45查看时间并把时间追加到/tmp目录下的某文档,文档名字自拟

45 4 1,10,22 * * date >> /tmp/zhenshui.txt

 

9.每月每天早上8点到下午18点每隔2小时的每30分钟 查看系统时间

*/30 8-18/2 * * * date

10.每月每天凌晨3点30分和中午12点20分执行/tmp下的hellosh脚本

30 3,12 * * * /tmp/hello.sh

 

2. 图文并茂说明Linux进程和内存概念

进程:将程序动态的运行起来,就转成进程,(即程序的执行过程)过程: 包含进程的创建,进程的运行以及进程消亡。
进程一般由程序、数据集合和进程控制块三部分组成。
进程一般包含两种,前台进程和后台进程。

 内存:是运行进程的空间,CPU待处理的数据和运行的程序暂时存储的空间。

3. 图文并茂说明Linux启动流程

 

1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录10.登录之后开始以Shell控制主机
4. 自定义一个systemd服务定时去其他服务器上检查/tmp/下文件的个数,如果发现数量有变化就记录变化情况到文件中。

 

vim /lib/systemd/system/find.service

 

[Unit]
Description=check tmp
[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c "ssh root@192.168.50.131 sh /shell/check_tmp.sh" #
ExecStop=ps auxf | grep [check]_tmp.sh |awk '{print $2}' |xargs kill -9 2>/dev/null
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
Wantedby=multi-user.target

systemctl daemon-reload
systemctl enable --now find.service
5. 写Linux内核编译安装博客

yum -y install gcc make ncurses-devel flex bison openssl-devel
elfutils-libelf-devel bc perl
tar xf linux-5.18.9.tar.xz -C /usr/local/src
cd /usr/local/src/linux-5.18.9
cp /boot/config-$(uname -r) .config
vim .config

# CONFIG_MODULE_SIG=y #注释此行
CONFIG_SYSTEM_TRUSTED_KEYS="" 
# CONFIG_DEBUG_INFO_BTF=y 
make modules_install

6. 总结5个自我觉得比较有用的awk的使用场景,比如在什么情况下用awk处理文本效率最高,发散题,至少写1个。

#查询登录不成功的主机及次数
lastb |awk '{print $3}'|sort |uniq -c|sort -nr

#查看磁盘使用率
df | awk -F"[[:space:]]+|%" '$0 ~ /^\/dev/{if($5>70)print $1,$5}'

#显示主机的连接状态出现的次数
awk 'NR!=1{print $1}' ss.log |sort |uniq -c

 

posted @ 2023-07-02 22:07  痛要忍着  阅读(26)  评论(0)    收藏  举报