第四周作业
一.自定义写出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

浙公网安备 33010602011771号