Test 8

网友投稿 248 2022-11-08

Test 8

1、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

#1 查看绝对路径和创建目录 root@c7-67]#which cp alias cp='cp -i' /usr/bin/cp mkdir /backup -p [root@c7-67]#crontab -l 30 13 * * 1-5 /usr/bin/tar cJf /backup/etcback-`date -s '-1 day' +%F-%T`.tar.xz /etc &>/dev/null

2、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

1.在163 上授权 2.写该配置文件 [root@c7-67]#cat /root/.mailrc set from=wh9527@163.com smtp=smtp.163.com set smtp-auth-user=wh10009527@163.com smtp-auth-password=UFXXXXXXXBBHLYPU smtp-auth=login 3.写脚本 [root@c7-67]#cat /root/DISK_USE.sh #!/bin/bash USE=$(df |grep '^/dev/sd' |awk -F' +|%' '{print $5}') [ $USE -gt 80 ] && echo "DISK $USE%" |mail -s DISK_INFO 10222222@qq.com chmod +x /root/DISK_USE.sh 4 写定时任务: [root@c7-67]#crontab -l */10 * * * * ./root/DISK_USE.sh &>/dev/null

3、简述linux操作系统启动流程

#init系列 1 开机加电 BIOS自检 读取硬盘 2 读取MBR前446字节,进行MBR引导的。 3 grub引导菜单(Boot Loader)。 4 加载内核kernel。 5 启动init进程,依据inittab文件设定运行级别 6 init进程,执行rc.sysinit文件。 7 启动内核模块,执行不同级别的脚本程序。 8.分别执行/etc/init/rcS.conf、/etc/init/rc.conf、/etc/init/start-ttys.confl来调用命令执行/etc/rc*.d/ 文件里面定义的是各种服务的启动脚本,可以ls查看,S开头代表开机启动的服务,K开头的是关机要执行的任务。 9.执行/etc/rc.d/rc.local 10.执行/bin/login程序,等待用户登录 # systemd 系列 1.BIOS:BOIS自检,加载硬盘 2.读取MBR,进行MBR引导 3.bootloader:grub引导菜单 4.加载内核和inintamfs模块 5.内核开始初始化,使用systemd来代替centos6以前的init程序 6.执行initrd.target 包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了 7.从initramfs根文件系统切换到磁盘根目录 entos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别时/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式 模式: 0 ==> runlevel0.target, poweroff.target 1 ==> runlevel1.target, rescue.target 2 ==> runlevel2.target, multi-user.target 3 ==> runlevel3.target, multi-user.target 4 ==> runlevel4.target, multi-user.target 5 ==> runlevel5.target, graphical.target 6 ==> runlevel6.target, reboot.target 8.systemd执行sysinit.target 9.systemd启动multi-user.target下的本机与服务器服务 10.systemd执行multi-user.target下的/etc/rc.d/rc.local 11.Systemd执行multi-user.target下的getty.target及登录服务 getty.target是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面程序 12.systemd执行graphical需要的服务

4、制作一个只运行shell的linux系统

1 分区并创建文件系统 #分两个必要的分区,/dev/sdb1对应/boot   /dev/sdb2对应根 / [root@centos6 ~]#echo -e 'n\np\n1\n\n+1G\nw\n' | fdisk /dev/sdb [root@centos6 ~]#echo -e 'n\np\n2\n\n\n\nw\n' | fdisk /dev/sdb [root@centos6 ~]#mkfs.ext4 /dev/sdb1 [root@centos6 ~]#mkfs.ext4 /dev/sdb2 2挂载 #子目录名字必须为boot [root@centos6 ~]#mkdir /mnt/boot [root@centos6 ~]#mount /dev/sdb1 /mnt/boot 3安装grub [root@centos6 ~]#grub-install --root-directory=/mnt/ /dev/sdb

4 准备内核和 initramfs文件 [root@centos6 ~]#cp /boot/vmlinuz-2.6.32-754.el6.x86_64 /mnt/boot/vmlinuz [root@centos6 ~]#cp /boot/initramfs-2.6.32-754.el6.x86_64.img /mnt/boot/initramfs.img 5 建立grub.conf 文件 [root@centos6 ~]#cat /mnt/boot/grub/grub.conf default=0 timeout=6 title wang linux root (hd0,0) kernel /vmlinuz root=/dev/sda2 selinux=0 init=/bin/bash #bash作为第一个进程 initrd /initramfs.img [root@centos6 ~]#tree /mnt/boot /mnt/boot ├── grub │   ├── device.map │   ├── e2fs_stage1_5 │   ├── fat_stage1_5 │   ├── ffs_stage1_5 │   ├── grub.conf │   ├── iso9660_stage1_5 │   ├── jfs_stage1_5 │   ├── minix_stage1_5 │   ├── reiserfs_stage1_5 │   ├── stage1 │   ├── stage2 │   ├── ufs2_stage1_5 │   ├── vstafs_stage1_5 │   └── xfs_stage1_5 ├── initramfs.img ├── lost+found └── vmlinuz 2 directories, 16 files [root@centos6 ~]# 6 准备根下面相关程序和库 [root@centos6 ~]#mkdir /mnt/sysroot [root@centos6 ~]# mount /dev/sdb2 /mnt/sysroot [root@centos6 ~]#mkdir –pv /mnt/sysroot/{boot,dev,sys,proc,etc,lib,lib64,bin,sbin,tmp,var,usr,opt,home,root ,mnt,media} #复制bash等命令和相关库文件,如: bash,ifconfig,insmod,ping,mount,ls,cat,df,lsblk,blkid,tree,fdisk [root@centos6 ~]#mkdir /mnt/sysroot/{dev,proc,etc,sys,lib,home,root} #准备网卡驱动 [root@centos6 ~]#ethtool -i eth0 driver: e1000 version: 7.3.21-k8-NAPI firmware-version: bus-info: 0000:02:01.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no [root@centos6 ~]#modinfo -n e1000 /lib/modules/2.6.32-754.el6.x86_64/kernel/drivers/net/e1000/e1000.ko [root@centos6 sysroot]# cp `modinfo -n e1000` /mnt/sysroot/lib [root@centos6 ~]#chroot /mnt/sysroot 7编写脚本拷贝命令和命令所依赖的各种库文件 [root@centos6 ~]# cat !$ cat bincopy_1.sh COLOR_GREEN="\e[1;32m" COLOR_END="\e[0m" DEST_DIR="/mnt/sysroot" while :; do read -p "Please input the command you wanna move(q:quit):" CMD if [[ "$CMD" = "q" ]]; then exit fi CMD_FULL_PATH=`which --skip-alias $CMD` #echo CMD_FULL_PATH=$CMD_FULL_PATH CMD_DESTDIR=`dirname $CMD_FULL_PATH` #echo CMD_DESTDIR=$CMD_DESTDIR CMD_MOVED=`basename $CMD_FULL_PATH` #echo CMD_MOVED=$CMD_MOVED if [[ ! -d ${DEST_DIR}${CMD_DESTDIR} ]]; then mkdir -p ${DEST_DIR}${CMD_DESTDIR} &> /dev/null else cp -a $CMD_FULL_PATH ${DEST_DIR}$CMD_DESTDIR fi SO_LIST=`ldd "$CMD_FULL_PATH" | sed -nr 's#.* (/.*) .*#\1#p'` for SO_FILE in $SO_LIST; do SO_FULL_PATH=`echo $SO_FILE` SO_DESTDIR=`dirname $SO_FILE` SO_REAL=$(basename `ls -l $SO_FILE | sed -nr 's#.* (.*)#\1#p'`) if [[ ! -d ${DEST_DIR}${SO_DESTDIR} ]]; then mkdir -p ${DEST_DIR}${SO_DESTDIR} &> /dev/null else cp -a ${SO_DESTDIR}/${SO_REAL} ${DEST_DIR}${SO_DESTDIR} ## echo "$SO_FILE -> ${SO_DESTDIR}${SO_REAL} moved to ${DEST_DIR}${SO_DESTDIR}." fi done echo -e "Command ${COLOR_GREEN}$CMD${COLOR_END} and corresponding libs moved to dir /mnt/sysroot/" done 8 切换根 [root@centos6 ~]# chroot /mnt/sysroot/ bash-4.1# ls bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin sys tmp usr var bash-4.1#

5、总结systemctl管理命令及system unit文件格式

#命令 start:启动服务 restart:重启 stop:停止 status:查看状态 enable:设置开启启动 disable:开机不启动 mask:禁止自动和手动启动服务,将服务mask后start命令就不起作用 unmask:取消mask is-active:查看服务是否激活状态 is-enabled:查看服务是否开机启动 list-units:查看所有了units list-dependencies:查看服务依赖关系 #ystem unit文件格式 [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等 [Service]:与特定类型相关的专用选项;此处为Service类型 [Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项

6、破解centos7 密码

1 开机进入此界面

ro 为 rw init=/sysroot/bin/sh

切根。改密码退出重启

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis动态SQL if的test写法及规则详解
下一篇:4…20mA模拟量输出接口可借助FlexProgrammer手操器对测量结果直观分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~