首页 > 其他分享 >第四周

第四周

时间:2023-08-06 22:56:14浏览次数:26  
标签:执行 30 线程 进程 四周 root rocky8

1、自定义写出10个定时任务的示例:

例1:每周三凌晨三点执行data命令

[20:26:34 root@rocky8 ~]#crontab -l
* 3 * * */3 date

例2:每周的工作日1:30,将/etc备份至/backup目录中,保持的文件名称为“etcbackup-yyyy-mm-dd-HH.tar.xz”

[20:37:19 root@rocky8 ~]#cat etcback.sh 
#!/bin/bash

DIR=etcbak-`date -d ' -1 day ' +%Y-%m-%d-%H`
tar -jcvf /backup/${DIR}.tar.xz /etc/ &> /dev/null

[20:37:26 root@rocky8 ~]#crontab -l
30 1 * * 1-5 bash etcback.sh

例3:每10天的6点30分执行ls命

[20:40:45 root@rocky8 ~]#crontab -l
30 6 */10 * * ls

例4:每周六1点10分以ju的用户身份重启http服务

[20:46:30 root@rocky8 ~]#crontab -l 
10 1 * * 6 systemctl restart httpd

例5:每30分钟执行一次磁盘检查disk_check.sh脚本

[20:49:57 root@rocky8 ~]#crontab -l
*/30 * * * * bash disk_check.sh

例6:6月30号23:30分重启主机

[20:53:11 root@rocky8 ~]#crontab -l
30 23 30 6 * reboot

例7:每天早上8点到下午18点每隔2小时的每30分钟 查看系统时间

[20:57:25 root@rocky8 ~]#crontab -l
*/30 8-18/2 * * * date

例8:每天3点30分和12点30分执行/tmp下的hello.sh脚本

[21:01:58 root@rocky8 ~]#crontab -l
30 3,12 * * * /tmp/hello.sh

例9:每隔2个小时清理一次

[21:05:09 root@rocky8 ~]#crontab -l
*/2 * * * * rm -rf /var/www/html

例10:每天23点关闭sshd服务

[21:06:57 root@rocky8 ~]#crontab -l
0 23 * * * systemctl stop sshd

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

进程:process运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

进程具有三种基本状态:        

1、就绪状态。某些进程“万事俱备”(必要资源),只差CPU。(就绪队列)      

2、执行状态。某进程占有CPU并在CPU上执行其程序。        

3、阻塞状态。某些进程由于某种原因不能继续运行下去,等待处 理问题。也称为等待状态或封锁状态。如:请求I/O。(多个等待队列) 

进程具有特征:

动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的。

并发性:任何进程都可以同其他进程一起并发执行。

独立性:进程是系统进行资源分配和调度的一个独立单位。

结构性:进程是由程序、数据和进行控制块三部分组成。

线程:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。一个标准的线程由线程ID、当前指令指针(PC)、寄存器和堆栈组成。而进程由内存空间(代码、数据、进程空间、打开的文件)和一个或多个线程组成。
进程和线程的区别:

线程是程序的最小单位,而进程是操作系统分配的最小单位;

一个进程可以有一个或多个线程组成,线程是一个进程中代码的不同执行路线;

进程之前相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程的资源(如打开文件和信号),某进程内的线程在其他进程不可见;

调度和切换:线程上下文切换比进程上下文切换要快得多。

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

Centos 6启动流程

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控制主机
grub功能和组成

bootloader:引导加载器,引导程序

Windows:ntloader,仅是启动OS

linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本,把用户选定的内核装载到内存中的特定空间中,解压,展开,并把系统控制权移交给内核

linux的bootloader

lilo:linux loader,早期的bootloader,功能单一

grub:guand unified bootloader,centos 5,6 grub 0.97:grub legacy,centos 7以后使用grub 2.02

grub启动阶段

primary boot loader

1st stage :MBR的前446个字节

1.5 stage:MBR之后的扇区,让stage1中的BootLoader能识别stage2所在的分区上的文件系统

secondary bootloader:2nd stage,分区文件/boot/grub/
centos 7以后启动流程

1.UEFi或BIOS初始化,运行POST开机自检

2.选择启动设备

3.引导装载程序,centos 7是grub2,加载装载程序的配置文件

        /etc/grub.d/

        /etc/default/grub

        /boot/grub2/grub.cfg

4.加载initramfs驱动模块

5.加载内核选项

6.内核初始化,centos 7使用systemd代替init

7.执行initrd.garget所有单元,包括挂载 /etc/fstab

8.从initramfs根文件系统切换到磁盘根目录

9.systemd执行默认target配置,配置文件/etc/systemd/system/default.target

10.systemd执行sysinit.target初始化系统及basic.target准备操作系统

11.systemd启动multi-user.target下的本机与服务器服务

12.systemd执行multi-user.target下的/etc/rc.d/rc.local

13.systemd执行multi-user.target下的getty.target及登录服务

14.systemd执行graphical需要的服务

运行级别

4、自定义一个systemd服务定时去其他服务器上检查/tmp/下文件的个数,如果发现数量有变化就记录变化情况到文件中。

[21:39:24 root@rocky8 system]#cat /lib/systemd/system/find.service
[Unit]
Description=check tmp
[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c  "ssh [email protected]  sh /shell/check_tmp.sh"   #基于key验证
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内核编译安装博客

下载linux内核 https://www.kernel.org/
将下载的内核包上传到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 menuconfigGeneral setup  ➡️  Local version - append to kernel release ➡️ -m67-magedu ➡️ savemake -j 8    #多少核就写多少,此处很慢
make modules_install
make installreboot

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

AWK的工作流程

1.通过关键字 BEGIN 执行 BEGIN 块的内容,即 BEGIN 后花括号 {} 的内容。

2.完成 BEGIN 块的执行,开始执行body块。

3.读入有 \n 换行符分割的记录。

4.将记录按指定的域分隔符划分域,填充域,$0 则表示所有域(即一行内容),$1 表示第一个域,$n 表示第 n 个域。

5.依次执行各 BODY 块,pattern 部分匹配该行内容成功后,才会执行 awk-commands 的内容。

6.循环读取并执行各行直到文件结束,完成body块执行。

7.开始 END 块执行,END 块可以输出最终结果

标签:执行,30,线程,进程,四周,root,rocky8
From: https://www.cnblogs.com/LKzzZ/p/17610272.html

相关文章

  • 假期第四周总结
    本周学习进行MapReduce&YARN的部署,完成了相关配置文件的修改和分发,集群的启动和历史服务器的启动,遇到了代码过多且ppt中给的代码为图片的问题,解决方法是发现ppt中的文件可以打开,打开文件进行复制。进行hive的安装配置,完成了MySQL数据库的安装,Hadoop的配置,hive的下载解压,MySQL驱......
  • 2023-07-30~08-05第四周暑假生活
    本周每天学习一个小时hdfs,web设计hdfs和linux的操作主要用到命令窗口,大量陌生的命令操作是学习的一大难点主要学习了:hdfs的目录操作cd/usr/local/hadoop./bin/hdfsdfs-mkdir-p/user/hadoop在HDFS中创建一个“/user/hadoop”目录,“–mkdir”是创建目录的操作,“-p”表......
  • 第四周总结
    本周我主要学习了Hadoop中的MapReduce编程模型和相关的内容。MapReduce是Hadoop的核心组件之一,用于大规模数据的分布式处理和计算。在学习MapReduce的过程中,我首先理解了MapReduce的基本概念和原理。MapReduce将大规模的输入数据划分成多个小的数据块,并将每个数据块分配给不同的......
  • 2023.7.31-2023.8.6暑假第四周博客
     2023.7.31一键启动脚本启动:$HADOOP_HOME/sbin/start-yarn.sh• 从 yarn-site.xml 中读取配置,确定 ResourceManager 所在机器,并启动它• 读取 workers 文件,确定机器,启动全部的 NodeManager• 在当前机器启动 ProxyServer (代理服务器)关闭$HADOOP_HOME/sbin/stop-yar......
  • 第四周总结
    标题:Python爬虫周总结:探索数据世界的奇妙之旅导言:在信息爆炸的时代,获取准确、及时的数据对于各行各业都至关重要。作为一名工作于数据领域的从业者,本周我一直专注于学习和应用Python爬虫技术,以便更有效地获取和处理数据。本文将记录我每天的学习计划和收获,希望可以与大家分享这段......
  • 第四周总结
    本周学习总结:本周我在学习上主要集中在web开发和大数据技术框架方面。以下是我本周的学习内容和时间分配情况:学习内容:Web开发:我深入学习了前端框架React,并通过实践项目进一步巩固了我的前端开发能力。我学习了React的高级特性,如状态管理和路由,并通过编写组件和处......
  • 马哥教育第四周作业
    自定义写出10个定时任务的示例:比如每周三凌晨三点执行data命令要求尽量的覆盖各种场景每周三凌晨三点执行data命令03**3data晚上9点10分运行echo命令,输出信息仍会发送到root邮箱1021***hchjq/bin/echo"Hello"每三小时执行echo和wall命令0*/3**......
  • 7.30第四周总结
    实现一个聊天服务器来支持网页聊天。我先做好了聊天服务器,用Java中的线程,io,socket,serverSocket就可以实现,而且还可以上传文件,上传文件做了优化,采用多线程,这样就不会影响聊天。从协议,到用户对象设计,数据库设计,客户端的设计用到MVC模式。花了一天半的时间将程序初步写出来,又花了三天......
  • 第四周总结
         这周没怎么学,考驾照来着。。。。     这几周学习下来主要就是了解了以下几点:Hadoop基础知识:Hadoop的概念、体系结构和组件,包括Hadoop分布式文件系统(HDFS)和MapReduce计算模型。理解Hadoop的核心思想和设计原理是建立后续学习的基础。Hadoop生态系......
  • 第四周
    7月16日给姥爷网购了新手机,收货设置,感叹现在同品牌换机确实方便,厂商用生态绑定用户,之类的。去图书馆蹭空调,不想学习,重新读了一遍《动物农场》,还有一部分的《鼠疫》。晚上沉迷逛百科全书,开了一大堆标签页,虽然什么也没学到,但是享受满足求知欲望。7月17日电脑的无线网卡炸了,联系......