首页
关于
推荐
CSDN
Search
1
文件上传下载-io-流的理解-笔记
128 阅读
2
vue循环指令el-table-column展示图片src路径拼接
121 阅读
3
正则表达式,将字符串分割两部分
111 阅读
4
MySQL数据库练习【一】
109 阅读
5
MySQL数据库练习【三】
92 阅读
默认分类
Mysql
Java基础
一天一练
Mongodb
Nginx
Docker
FastDFS
面试题
云计算基础
linux基础
shell脚本
实验
工具
基础命令
redis
zookeeper
部署
案例
登录
Search
标签搜索
vue
Mysql
IO
面试题
良辰美景好时光
累计撰写
67
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Mysql
Java基础
一天一练
Mongodb
Nginx
Docker
FastDFS
面试题
云计算基础
linux基础
shell脚本
实验
工具
基础命令
redis
zookeeper
部署
案例
页面
关于
推荐
CSDN
搜索到
15
篇与
的结果
2025-05-07
系统基础环境
系统基础环境PS1centosPS1='\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ ' PS1='\[[\[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ ' PS1='\[\e[31;1m\][\u@\h \W]\$ \[\e[0m\]'/etc/profile.d/env.shubuntuPS1='\[\e[1;32m\][\u@\h:\W]\$\[\e[0m\] ' PS1='\[\e[1;32m\][\t \[\e[1;31m\]\u@\h:\W]\$\[\e[0m\] '.bashrcvimrcautocmd BufNewFile *.sh exec ":call ShellTitle()" function ShellTitle() call append(0,"#!/bin/bash") call append(1,"# *************************************") call append(2,"# * 功能: Shell脚本模板") call append(3,"# * 作者: 刘丹玉") call append(4,"# * 联系: v649352141@163.com") call append(5,"# * 版本: ".strftime("%Y-%m-%d")) call append(6,"# *************************************") endfunction set tabstop=2 set shiftwidth=2 set expandtab set number set autoindent set cursorline set showmatch syntax on set background=darketh0,ip/etc/default/grub net.ifnames=0 biosdevname=0 /etc/udev/rules.d/70.persistent-net.rules SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="$mac_num", ATTR{type}=="1", NAME="eth0" rocky: grub2-mkconfig -o /etc/grub2.cfg ubuntu: grub-mkconfig -o /boot/grub/grub.cfg[root@Rocky9-12 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection [connection] id=eth0 uuid=30af1819-8398-3bb4-9861-103bdbbc26b8 type=ethernet autoconnect-priority=-999 interface-name=eth0 timestamp=1745834507 [ethernet] [ipv4] method=manual address1=10.0.0.12/24,10.0.0.2 dns=10.0.0.2; [ipv6] addr-gen-mode=default method=auto [proxy][root@ubuntu24-13:~]# cat /etc/netplan/50-cloud-init.yaml # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: version: 2 renderer: networkd ethernets: eth0: addresses: - 10.0.0.13/24 routes: - to: default via: 10.0.0.2 nameservers: search: - baidu.com addresses: [ 8.8.8.8,129.19.19.19,233.6.6.6]防火墙,selinux,ufwsystemctl disable --now ufw systemctl disable --now firewalld getenforce vim /etc/selinux/config SELINUX=disabled设置主机名hostnamectl set-hostname Rocky9-12 hostnamectl set-hostname Rocky9-15 hostnamectl set-hostname Rocky9-18 hostnamectl set-hostname ubuntu24-13 hostnamectl set-hostname ubuntu24-16 hostnamectl set-hostname ubuntu24-19设置时区timedatectl set-timezone Asia/Shanghai终端语言localectl set-locale LANG=en_US.UTF-8rocky更新源sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \ -i.bak \ /etc/yum.repos.d/rocky-*.repo dnf makecacheubuntu源/etc/apt/sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse禁用 swapsed -i.bak '/swap/d' /etc/fstab优化ssh连接速度sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config cat >>/etc/ssh/sshd_config<<EOF UseDNS no #相当于网络命令的-n选项. GSSAPIAuthentication no #关闭GSS认证. EOF systemctl restart sshd #检查 egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config==安装Linux常用工具==生产实践:基于最小化安装的系统建议安装下面相关包# 自动挂载光盘 yum -y install autofs systemctl enable --now autofs # 访问 lsblk ls /misc/cd# 在安装或升级软件包之前,建议先执行apt update命令,以确保获取到最新的软件包信息 apt update # 最小化安装常用工具 yum -y tmux man-pages strace # 安装Linux常用工具 yum -y install tree vim wget lrzsz psmisc wget tcpdump ftp rsync lsof yum -y install net-tools sysstat iotop iftop htop zip unzip bzip2 nc nmap telnet bc yum -y install psmisc httpd-tools bind-utils nethogs expect # 终端复用器软件就是会话与窗口的“解绑”工具 yum -y install epel-release yum -y install screen # 命令补全 yum -y install bash-completion # 安装linux娱乐工具 yum install -y sl cowsayautofs tmux man-pages strace tree vim wget lrzsz psmisc wget tcpdump ftp rsync lsof net-tools sysstat iotop iftop htop zip unzip bzip2 nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect epel-release screen bash-completion sl cowsay装机必备软件【装机必备软件】安装通用软件vim net-tools bash-completion htop git tree psmisc rsyslog gcc make libxml2 jqsysstat iotop pcp-system-tools net-tools freerdp tcpdump telnet nmap mtr nmap-ncat lsof xfsdump strace boom-boot smartmontools yum-utils tmux psmisc rsync rsyslog sos strace perf valgrind bcc-tools # 系统监控和诊断工具 sysstat iotop pcp-system-tools # 网络 net-tools freerdp tcpdump telnet nmap mtr nmap-ncat # 文件系统与磁盘 lsof xfsdump strace boom-boot smartmontools # 系统管理 yum-utils tmux psmisc rsync # 日志 rsyslog sos # 调试和分析 strace perf valgrind bcc-tools这些软件的含义、用途以及在Ubuntu和RHEL中的应用情况:软件名称含义用途是否应用于Ubuntu是否应用于RHELautofs自动挂载文件系统工具自动管理文件系统的挂载,根据需要动态挂载和卸载文件系统,提高系统性能和资源利用率是是man-pages手册页文档提供系统命令、函数等的详细文档和使用说明,方便用户查阅是是strace系统调用跟踪工具用于跟踪进程执行时的系统调用和信号传递,帮助调试和分析程序运行过程中的问题是是tree目录树查看工具以树状结构显示目录结构,便于直观地查看目录和文件的层次关系是是vim文本编辑器功能强大的文本编辑器,用于编辑各种文本文件,支持多种编程语言的语法高亮和编辑功能是是wget网络下载工具用于从网络(如HTTP、FTP等)下载文件,支持断点续传等功能是是lrzsz文件传输工具用于在Linux和Windows系统之间通过串口或网络进行文件传输是是psmisc包含多个与进程管理相关的工具如pstree用于以树状显示进程关系,killall用于杀死指定名称的进程等是是tcpdump网络数据包捕获工具用于捕获和分析网络数据包,帮助网络管理员诊断网络问题是是ftp文件传输协议客户端用于通过FTP协议进行文件传输,与FTP服务器进行交互是是rsync远程同步工具用于在本地和远程系统之间高效地同步文件和目录,支持增量备份等功能是是lsof列出打开文件工具用于列出系统中当前打开的文件和相关进程信息,有助于排查文件被占用等问题是是net - tools网络工具集包含ifconfig、route等命令,用于网络配置和管理是,但在新的Ubuntu版本中逐渐被其他工具替代是,在RHEL 8中已被废弃,推荐使用nmcli等工具sysstat系统性能统计工具收集和报告系统性能相关的统计信息,如CPU使用率、内存使用情况、磁盘I/O等是是iotopI/O监控工具用于监控系统中进程的I/O使用情况,帮助发现I/O瓶颈是是iftop网络流量监控工具实时监控网络接口的流量情况,显示各个连接的带宽使用情况是是htop交互式进程查看器用于查看和管理系统中的进程,提供更友好的界面和更丰富的功能,相比传统的top命令更易用是是zip/unzip压缩/解压缩工具用于创建和提取ZIP格式的压缩文件是是bzip2压缩工具用于创建BZ2格式的压缩文件,压缩比通常比zip高是是nc网络连接工具可以用于创建网络连接、传输数据等,是一个功能强大的网络调试工具是是nmap网络扫描工具用于网络探测和安全评估,如扫描主机开放端口、检测网络服务等是是telnet远程登录工具用于通过Telnet协议远程登录到其他主机,进行命令行操作是是bc计算器用于进行高精度的数学计算,支持各种数学运算和函数是是httpd - toolsApache HTTP服务器工具集包含htpasswd等工具,用于管理Apache服务器的用户认证等是是bind - utilsDNS工具集包含nslookup、dig等工具,用于DNS查询和域名解析相关操作是是nethogs网络流量监控工具按进程监控网络流量,帮助用户了解各个进程的网络使用情况是是expect自动化交互工具用于自动化交互式命令的执行,通过脚本实现与其他程序的交互是是epel - releaseExtra Packages for Enterprise Linux 软件源用于在RHEL及其衍生系统上安装EPEL软件源,提供额外的软件包否是screen终端复用器允许在一个终端会话中管理多个终端窗口或会话,方便用户同时运行多个命令或程序是是bash - completionBash命令补全为Bash shell提供命令自动补全功能,提高命令输入效率是是sl模拟火车动画程序一个娱乐性的命令,运行后会显示一个火车在终端中行驶的动画是是cowsay文本生成工具将输入的文本以奶牛说话的形式显示出来,常用于娱乐或简单的文本展示是是pcp - system - tools性能计算伙伴关系系统工具用于系统性能监测和分析,提供更详细和灵活的性能数据收集和展示功能是是freerdp远程桌面协议客户端用于连接到Windows远程桌面服务,实现远程桌面访问是是mtr网络诊断工具结合了ping和traceroute的功能,用于诊断网络连接的质量和路径是是nmap - ncatNmap的网络连接工具类似于nc,用于创建网络连接和传输数据,是Nmap工具集的一部分是是xfsdumpXFS文件系统备份工具用于对XFS文件系统进行备份,支持全量和增量备份是是boom - boot未明确常见的标准工具,可能是特定环境或自定义的工具无明确通用用途未知未知smartmontools硬盘健康监测工具用于监测硬盘的健康状态,通过读取硬盘的SMART信息来评估硬盘的性能和预测故障是是yum - utilsYum包管理工具扩展提供一些额外的Yum命令和功能,方便软件包管理否是tmux终端复用器类似于screen,用于在一个终端中管理多个会话,支持更灵活的窗口布局和操作是是rsyslog系统日志管理工具用于收集、存储和转发系统日志,方便系统管理员查看和分析系统运行信息是是sos系统诊断工具集收集系统配置、日志等信息,用于故障排查和系统诊断是是perf性能分析工具用于分析系统性能瓶颈,如CPU使用率、内存访问等,帮助优化程序性能是是valgrind内存调试工具用于检测程序中的内存错误,如内存泄漏、非法内存访问等,帮助开发人员调试程序是是bcc - toolsBPF Compiler Collection工具集基于eBPF技术的性能分析和跟踪工具集,用于动态地跟踪和分析系统行为是是git分布式版本控制系统用于管理项目的版本控制,方便团队协作开发和代码管理是是gccGNU C编译器用于编译C语言程序,是Linux系统下常用的编译器是是make构建工具用于根据Makefile文件自动构建和编译项目,常用于C/C++项目的构建是是libxml2XML处理库提供了处理XML文档的函数和工具,用于开发需要解析和生成XML数据的应用程序是是htpasswd用于创建和管理Apache的密码文件用于为Apache服务器的用户认证创建和管理密码文件是是mkpasswd密码生成工具用于生成加密的密码,通常用于为系统用户或应用程序生成安全的密码是是适用于 Ubuntu 的软件列表软件名称含义用途autofs自动挂载文件系统工具自动根据需求挂载文件系统,提高系统资源使用效率man - pages手册页文档提供系统命令、函数等详细使用说明,方便查阅strace系统调用跟踪工具跟踪进程执行时的系统调用和信号,辅助调试程序tree目录树查看工具以树状结构展示目录内容,清晰呈现目录层级vim文本编辑器强大的文本编辑工具,支持多种编程语言编辑wget网络下载工具从网络(如 HTTP、FTP)下载文件,支持断点续传lrzsz文件传输工具借助 Zmodem 协议在 Linux 和 Windows 间传输文件psmisc进程管理工具集包含 pstree、killall 等命令,用于进程管理tcpdump网络数据包捕获工具捕获和分析网络数据包,诊断网络问题ftp文件传输协议客户端通过 FTP 协议进行文件上传和下载rsync远程同步工具高效同步本地与远程文件和目录,支持增量备份lsof列出打开文件工具显示系统中所有打开的文件及相关进程信息net - tools网络工具集含 ifconfig、route 等命令,用于网络配置和管理sysstat系统性能统计工具收集和报告系统性能指标,如 CPU、内存、磁盘 I/O 等iotopI/O 监控工具监控系统中进程的 I/O 使用情况,定位 I/O 瓶颈iftop网络流量监控工具实时显示网络接口的流量使用情况htop交互式进程查看器以可视化界面查看和管理系统进程zip压缩工具创建 ZIP 格式的压缩文件unzip解压缩工具解压 ZIP 格式的压缩文件bzip2压缩工具采用高效算法压缩文件,获得较高压缩比nc网络连接工具用于创建网络连接、传输数据,进行网络调试nmap网络扫描工具扫描网络主机、端口和服务,用于网络探测和安全评估telnet远程登录工具通过 Telnet 协议远程登录到其他主机bc计算器进行高精度数学计算,支持复杂数学运算httpd - toolsApache HTTP 服务器工具集包含 htpasswd 等工具,用于 Apache 服务器管理bind - utilsDNS 工具集包含 nslookup、dig 等命令,用于 DNS 查询和诊断nethogs网络流量监控工具按进程监控网络带宽使用情况expect自动化交互工具自动化执行交互式命令,模拟用户输入screen终端复用器在一个终端会话中管理多个虚拟终端bash - completionBash 命令补全工具为 Bash 提供命令自动补全功能,提高输入效率sl娱乐程序输入命令后显示动画火车,用于娱乐cowsay文本显示工具将文本以卡通奶牛说话形式显示pcp - system - tools性能计算伙伴系统工具收集、分析和展示系统性能数据freerdp远程桌面协议客户端连接到 Windows 远程桌面服务器mtr网络诊断工具结合 ping 和 traceroute 功能,诊断网络连接质量nmap - ncatNmap 的网络连接工具类似 nc,用于网络连接和数据传输xfsdumpXFS 文件系统备份工具对 XFS 文件系统进行全量或增量备份smartmontools硬盘健康监测工具监测硬盘健康状态,读取 SMART 信息tmux终端复用器提供更强大的终端会话管理功能rsyslog系统日志管理工具收集、存储和转发系统日志sos系统诊断工具集收集系统配置和日志信息,辅助故障排查perf性能分析工具分析系统性能瓶颈,优化程序性能valgrind内存调试工具检测程序中的内存错误,如泄漏、越界等bcc - toolsBPF 编译器集合工具基于 eBPF 技术进行系统性能分析和跟踪git分布式版本控制系统管理项目代码版本,支持团队协作开发gccGNU C 编译器编译 C 语言源代码生成可执行文件make构建工具根据 Makefile 自动编译和构建项目libxml2XML 处理库提供 XML 解析、生成和操作功能htpasswd密码文件管理工具为 Apache 等服务器创建和管理用户认证密码文件mkpasswd密码生成工具生成加密的密码字符串适用于 RHEL 的软件列表软件名称含义用途autofs自动挂载文件系统工具自动根据需求挂载文件系统,提高系统资源使用效率man - pages手册页文档提供系统命令、函数等详细使用说明,方便查阅strace系统调用跟踪工具跟踪进程执行时的系统调用和信号,辅助调试程序tree目录树查看工具以树状结构展示目录内容,清晰呈现目录层级vim文本编辑器强大的文本编辑工具,支持多种编程语言编辑wget网络下载工具从网络(如 HTTP、FTP)下载文件,支持断点续传lrzsz文件传输工具借助 Zmodem 协议在 Linux 和 Windows 间传输文件psmisc进程管理工具集包含 pstree、killall 等命令,用于进程管理tcpdump网络数据包捕获工具捕获和分析网络数据包,诊断网络问题ftp文件传输协议客户端通过 FTP 协议进行文件上传和下载rsync远程同步工具高效同步本地与远程文件和目录,支持增量备份lsof列出打开文件工具显示系统中所有打开的文件及相关进程信息net - tools网络工具集含 ifconfig、route 等命令,用于网络配置和管理sysstat系统性能统计工具收集和报告系统性能指标,如 CPU、内存、磁盘 I/O 等iotopI/O 监控工具监控系统中进程的 I/O 使用情况,定位 I/O 瓶颈iftop网络流量监控工具实时显示网络接口的流量使用情况htop交互式进程查看器以可视化界面查看和管理系统进程zip压缩工具创建 ZIP 格式的压缩文件unzip解压缩工具解压 ZIP 格式的压缩文件bzip2压缩工具采用高效算法压缩文件,获得较高压缩比nc网络连接工具用于创建网络连接、传输数据,进行网络调试nmap网络扫描工具扫描网络主机、端口和服务,用于网络探测和安全评估telnet远程登录工具通过 Telnet 协议远程登录到其他主机bc计算器进行高精度数学计算,支持复杂数学运算httpd - toolsApache HTTP 服务器工具集包含 htpasswd 等工具,用于 Apache 服务器管理bind - utilsDNS 工具集包含 nslookup、dig 等命令,用于 DNS 查询和诊断nethogs网络流量监控工具按进程监控网络带宽使用情况expect自动化交互工具自动化执行交互式命令,模拟用户输入epel - release额外企业 Linux 软件源为 RHEL 及其衍生系统添加 EPEL 软件源screen终端复用器在一个终端会话中管理多个虚拟终端bash - completionBash 命令补全工具为 Bash 提供命令自动补全功能,提高输入效率sl娱乐程序输入命令后显示动画火车,用于娱乐cowsay文本显示工具将文本以卡通奶牛说话形式显示pcp - system - tools性能计算伙伴系统工具收集、分析和展示系统性能数据freerdp远程桌面协议客户端连接到 Windows 远程桌面服务器mtr网络诊断工具结合 ping 和 traceroute 功能,诊断网络连接质量nmap - ncatNmap 的网络连接工具类似 nc,用于网络连接和数据传输xfsdumpXFS 文件系统备份工具对 XFS 文件系统进行全量或增量备份smartmontools硬盘健康监测工具监测硬盘健康状态,读取 SMART 信息yum - utilsYum 工具集辅助 Yum 包管理器进行软件包管理tmux终端复用器提供更强大的终端会话管理功能rsyslog系统日志管理工具收集、存储和转发系统日志sos系统诊断工具集收集系统配置和日志信息,辅助故障排查perf性能分析工具分析系统性能瓶颈,优化程序性能valgrind内存调试工具检测程序中的内存错误,如泄漏、越界等bcc - toolsBPF 编译器集合工具基于 eBPF 技术进行系统性能分析和跟踪git分布式版本控制系统管理项目代码版本,支持团队协作开发gccGNU C 编译器编译 C 语言源代码生成可执行文件make构建工具根据 Makefile 自动编译和构建项目libxml2XML 处理库提供 XML 解析、生成和操作功能htpasswd密码文件管理工具为 Apache 等服务器创建和管理用户认证密码文件mkpasswd密码生成工具生成加密的密码字符串endl
2025年05月07日
1 阅读
0 评论
0 点赞
2025-03-12
Linux彩色命令提示符prompt
@TOC一、彩色命令提示符prompt登录Linux后,默认的系统提示符毫无个性,无法明显辨别生产和测试环境,而导致误操作。可以通过修改PS1变量实现个性的提示符格式,避免这种低级错误。1.1.默认的提示符#Rocky默认的提示符 [dange@rocky8-1 ~]# #ubuntu默认的提示符 dange@ubuntu2204:~# - # 管理员 - $ 普通用户#查看当前命令提示符 [dange@rocky8-1 ~]$ echo $PS1 [\u@\h \W]\$ PS1变量代表的内容就是用户名+@+主机名+路径名(长路径)+ $ # 如果以root用户登录主机,则默认提示符为,对应的就是上面的[\u@\h \W]\$ [dange@rocky8-1 ~]# # PS1中的值要使用单引号引用,如果是双引号,则某些替换符不会被解析 PS1='\[\e[31m\][\u@\h \W]\$\[\e[0m\]' # 如果是永久保存,则要写入文件 echo "PS1='\[\e[31m\][\u@\h \W]\$\[\e[0m\]'" > /etc/profile.d/env.sh source /etc/profile.d/env.sh1.2.PS1变量中的常用选项PS1变量中的常用选项说明#PS1变量中的常用选项\d日期,格式为"星期 月 日"\H完整的主机名。如默认主机名"localhost.localdomain"\h简写的主机名。如默认主机名"localhost"\t24小时制问题,格式为"HH:MM:SS"\T12小时制时间,格式为"HH:MM:SS"。\A24小时制时间,格式为"HH:MM"。\@12小时制时间,格式为"HH:MM am/pm"。\u当前用户名。\vBash版本信息。\w当前所在目录的完整名称。\W当前所在目录的最后一个目录。\#执行的第几条命令。$提示符。如果是 root 用户,则会显示提示符为"#";如果是普通用户,则会显示提示符为"$"1.3.PS1中颜色部分1.3.1.开始结束位#PS1中颜色部分 \033[ #开始为 \033[0m #结束位 # 上面的\033 可以换成 \e # 颜色设置 \e[ 颜色m 内容 \e[0m 颜色后面要用m结束,多个颜色,用;分隔,只要一个m \e[31m我是红色\e[0m1.3.2.各颜色表示方式字体颜色背景色颜色3040黑色3141红色3242绿色3343黄色3444蓝色3545紫红色3646青蓝色3747白色字体颜色背景颜色\e[30m我是黑色\e[0m\e[40m我是黑色\e[0m\e[31m我是红色\e[0m\e[41m我是红色\e[0m\e[32m我是绿色\e[0m\e[42m我是绿色\e[0m\e[33m我是黄色\e[0m\e[43m我是黄色\e[0m\e[34m我是蓝色\e[0m\e[44m我是蓝色\e[0m\e[35m我是紫红色\e[0m\e[45m我是紫红色\e[0m\e[36m我是青蓝色\e[0m\e[46m我是青蓝色\e[0m\e[37m我是白色\e[0m\e[47m我是白色\e[0m# 字体颜色+背景颜色组合,字体颜色和背景颜色不分先后,因为值不一样 \e[30;40m红底黑字\e[0m \e[41;30m红底黑字\e[0m1.3.3.特殊效果特殊效果含义0关闭效果1高亮效果3斜体4下划线5闪烁,闪烁效果与远程工具所在的环境有关7反白显示8隐藏9删除线可组合使用,但如果效果有冲突时,以最后的为准,就是说,后面的效果,会覆盖前面的效果\e[30;41;5m红底黑色字闪烁\e[0m \e[4;30;41;5m红底黑色字下划线闪烁\e[0m \e[0;4;30;41;5m红底黑字下划线闪烁\e[0m #这里的0;4;5 都表示效果,但后面的4;5覆盖了前面的0 \e[4;30;41;5;0m红底黑字下划线闪烁\e[0m #这样写,4;5的效果都被0去掉了1.4.范例:在CentOS系统实现持久保存提示符格式PS1='[\u@\h \W]\$'PS1='\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\$\[\e[0m\] 'PS1='\[\e[31;1m\][\u@\h \W]\$ \[\e[0m\]'1.5.范例:ubuntu2204中PS1dange@ubuntu2204:~$ echo $PS1 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ # ${debian_chroot:+($debian_chroot)} 表示给变量赋值,如果存在 /etc/debian_chroot 文件,则该文件中内容会被赋值给变量$debian_chroot #文件不存在 root@ubuntu2204:~# ls /etc/debian_chroot ls: cannot access '/etc/debian_chroot': No such file or directory #变量为空 root@ubuntu2204:~# echo $debian_chroot在 ubuntu2204 中,设置 PS1,如果要对所有普能用户生效,将 PS1 定义写在 /usr/share/bash-completion/bash_completion 的最下面,如里需要对每个用户单独定义,写在用户家目录的 .bashrc 文件的最下面。范例:实现Ubuntu系统持久保存提示符格式PS1='\[\e[1;35m\][\u@\h \W]\\$\[\e[0m\] ' PS1='\[\e[1;31m\][\u@\h:\w]\$\[\e[0m\] '1.6.PS1中颜色设置过程分解【详解】[\u@\h \W]\$ 用户名+@+主机名+路径名(长路径)+ 提示符符号($) 颜色如何设置: 一个单独的颜色设置: \e[代码;前景;背景m, 如:\[\e[1;32;40m\]表示高亮显示字体为绿色,背景色为黑色。 注意:颜色的设置,放在相应的要设置的前面 如用户名颜色设置: \[\e[01;35;40m\]\u 结束颜色设置: \[\e[0m\]PS1='[\u@\h \W]\$ ' PS1='\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ ' PS1='\e[31;1m[\u@\h \W]\$ \e[0m ' PS1='\e[1;35m[\u@\h \W]\$ \e[0m ' PS1='\[\e[1;35m\][\u@\h \W]\$ \[\e[0m\] ' 如用户名颜色设置: \[\e[01;35;40m\]\u 结束颜色设置: \[\e[0m\] PS1='[\u@\h \W]\$ ' PS1='[\u@\h \W]\$ ' PS1='\[\e[1;32m\][\u@\h \W]\[\e[0m\]\$ ' PS1='\[\e[1;32m\][\[\e[1;33m\]\u@\h \W]\[\e[0m\]\$ ' PS1='\[\e[1;32m\][\[\e[1;33m\]\u\[\e[1;35m\]@\h \W]\[\e[0m\]\$ ' PS1='\[\e[1;32m\][\[\e[1;33m\]\u\[\e[1;35m\]@\h\[\e[1;31m\] \W]\[\e[0m\]\$ ' PS1='\[\e[1;32m\][\[\e[1;33m\]\u\[\e[1;35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ '1.7.我使用的色彩1.7.1.Rocky8PS1='\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ ' PS1='\[[\[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ ' PS1='\[\e[31;1m\][\u@\h \W]\$ \[\e[0m\]' # 如果是永久保存,则要写入文件 echo "PS1='\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\$ '" > /etc/profile.d/env.sh echo "PS1='\[\e[31;1m\][\u@\h \W]\$ \[\e[0m\]'" > /etc/profile.d/env.sh source /etc/profile.d/env.sh1.7.2.ubuntu2004[13:49:10 dange@ubuntu2004 ~]$ echo $PS1 \[\e[1;32m\][\t \[\e[1;35m\]\u@\h \W]\$\[\e[0m\] [13:49:15 dange@ubuntu2004 ~]$ [13:49:21 dange@ubuntu2004 ~]$ su - root Password: [13:49:27 root@ubuntu2004:~]# echo $PS1 \[\e[1;32m\][\t \[\e[1;31m\]\u@\h:\W]\$\[\e[0m\]PS1='\[\e[1;31m\][\u@\h:\W]\$\[\e[0m\] ' PS1='\[\e[1;32m\][\t \[\e[1;31m\]\u@\h:\W]\$\[\e[0m\] ' PS1='\[\e[1;32m\][\t \[\e[1;33m\]\u@\[\e[1;31m\]\h:\W\[\e[1;32m\]]\$\[\e[0m\] ' echo "PS1='\[\e[1;31m\][\u@\h:\W]\$\[\e[0m\] '" >> .bashrc echo "PS1='\[\e[1;32m\][\t \[\e[1;31m\]\u@\h:\W]\$\[\e[0m\] '" >> .bashrc source .bashrc1.8.关于为centos7中命令提示符设置颜色之后,无法正常换行的问题单引号和双引号问题endl
2025年03月12日
0 阅读
0 评论
0 点赞
2024-11-16
时间同步【Chrony服务】
@TOC1.时间工具timedatectl 时间和时区管理#查看日期时间、时区及NTP状态: timedatectl #查看时区列表: timedatectl list-timezones #修改时区: timedatectl set-timezone Asia/Shanghai #修改时区 root@ubuntu2004:~# rm -f /etc/localtime root@ubuntu2004:~# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改日期时间: timedatectl set-time "2017-01-23 10:30:00" #开启NTP: timedatectl set-ntp true/falsentpdate 时间同步命令,CentOS8版本此命令已淘汰system-config-date:图形化配置chrony服务的工具2.时间同步服务2.1.ntp2.2.chrony3.配置文件chrony.conf官方文档: https://chrony.tuxfamily.org/doc/3.5/chrony.conf.htmlserver #可用于时钟服务器,iburst 选项当服务器可达时,发送一个八个数据包而不是通常的一个数据包。 包间隔通常为2秒,可加快初始同步速度 pool #该指令的语法与server 指令的语法相似,不同之处在于它用于指定NTP服务器池而不是单个NTP服务器。池名称应解析为随时间可能会变化的多个地址 driftfile #根据实际时间计算出计算机增减时间的比率,将它记录到一个文件中,会在重启后为系统时钟作出补偿 rtcsync #启用内核模式,系统时间每11分钟会拷贝到实时时钟(RTC) allow / deny #指定一台主机、子网,或者网络以允许或拒绝访问本服务器 cmdallow / cmddeny #可以指定哪台主机可以通过chronyd使用控制命令 bindcmdaddress #允许chronyd监听哪个接口来接收由chronyc执行的命令 makestep # 通常chronyd将根据需求通过减慢或加速时钟,使得系统逐步纠正所有时间偏差。在某些特定情况下,系统时钟可能会漂移过快,导致该调整过程消耗很长的时间来纠正系统时钟。该指令强制chronyd在调整期大于某个阀值时调整系统时钟 local stratum 10 #即使server指令中时间服务器不可用,也允许将本地时间作为标准时间授时给其它客户端4.centos6 ntp客户端同步检查yum -y install ntp yum list ntp /etc/init.d/ntpd start ntpq -p5.案例安装chrony并校准时间同步yum list chrony # 安装软件chrony yum -y install chrony date -s '2 year' # 增加2年 date -s '2 day' # 增加2天 # 查看服务状态 systemctl start chronyd.service systemctl status chronyd.service # 更改配置文件 vim /etc/chrony.conf pool ntp.aliyun.com iburst allow 10.0.0.0/24 local stratum 10 # 重启服务 systemctl restart chronyd.service # 查看时间同步源 chronyc sources -v # 立即手工同步 chronyc -a makestep # 查看时间同步源状态 chronyc sourcestats -v # 设置硬件时间 # 硬件时间默认为UTC timedatectl set-local-rtc 1 # 校准时间服务器 chronyc tracking6.chronyc交互式# 启动几台机器 # 更改配置文件 vim /etc/chrony.conf pool 10.0.0.7 iburst7.实现私有的时间服务器名称主机服务器10.0.0.7客户端10.0.0.8客户端10.0.0.9客户端10.0.0.1007.1.服务器配置123安装软件[11:03:23 root@centos7 ~]# hostname -I 10.0.0.7 yum -y install chrony apt -y install chrony编辑配置文件vim /etc/chrony.conf server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst #allow 192.168.0.0/16 allow 0.0.0.0/0 #加此行,指定允许同步的网段 # Serve time even if not synchronized to a time source. local stratum 10 #删除此行注释,当互联网无法连接,仍然可以为客户端提供时间同步服务重启服务systemctl restart chronyd7.2.客户端配置323修改配置文件[10:42:59 root@Rocky8 ~]# vim /etc/chrony.conf server 10.0.0.7 iburst重启服务[10:59:25 root@Rocky8 ~]# systemctl restart chronyd确认同步成功chronyc sources -v # ubuntu chronyc -n sourcestats说明: ^* #已同步 ^? #未同步 192.168.2.25 #时间服务器IP8.时间同步chrony脚本cat chrony_date.sh #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin . /etc/os-release chrony_date(){ if [[ ${ID} =~ ^(rocky|centos|rhel) ]];then rpm -q chrony &>/dev/null || yum -y install chrony &>/dev/null sed -Ei.bak 's/^server .*/server ntp.aliyun.com iburst/' /etc/chrony.conf #sed -Ei.bak 's@#allow .*@allow 0.0.0.0/0 #加此行,指定允许同步的网段@' /etc/chrony.conf #sed -Ei.bak 's@#local stratum 10@local stratum 10 #删除此行注释,当互联网无法连接,仍然可以为客户端提供时间同步服务@' /etc/chrony.conf systemctl enable --now chronyd.service elif [[ ${ID} =~ ^(ubuntu) ]];then dpkg -V chrony &>/dev/null || apt -y install chrony &>/dev/null sed -Ei.bak 's/^pool ntp.ubuntu.*/pool ntp.aliyun.com iburst/' /etc/chrony/chrony.conf sed -Ei.bak 's/^pool .*ubuntu.pool.*//' /etc/chrony/chrony.conf systemctl start chronyd fi } chrony_dateendl
2024年11月16日
4 阅读
0 评论
0 点赞
2024-11-12
Crontab【定时服务】
@TOC1.服务使用流程服务使用流程说明部署安装这个服务或软件配置如何使用这个服务通过配置文件,通过命令。初级使用:能用就行。提高:额外配置。优化或注意事项安全......排障难点:one:学会通过错误提示解决问题:two:学会看日志:three:高级:让服务输出错误提示或者输出更加详细的错误提示(通过重定向)其他:one:做好监控:two:做好备份:three:做好日志收集:four:统一认证2.部署定时任务2.1.定时任务软件包名字:cronie , 服务名字(进程)crondrpm -qa cronie rpm -qi cronie rpm -ql cronie2.2.目录结构及说明目录结构说明:one:/var/spool/cron/用户的定时任务的配置文件的目录:two:crontab定时任务管理的命令:three:/var/log/cron定时任务日志‘了解就行的配置文件 /etc/crontab不推荐使用这个,系统定时任务的配置文件/etc/cron.hourly/系统定时任务,每小时运行/etc/cron.daily/系统定时任务,每天运行/etc/cron.weekly/系统定时任务,每周运行/etc/cron.monthly/系统定时任务,每个月运行2.3.检查是否运行2.4.使用指南2.4.1.配置的命令crontab用于对定时任务的规则进行增删改查.crontab选项说明 crontab -eedit编辑当前用户的定时任务vi /var/spool/cron/root #root当前用户的名字crontab -llist查看当前用户的定时任务cat /var/spool/cron/root #root当前用户的名字[08:45:41 root@centos7 data]# crontab -l no crontab for root 用户未设定定时任务 [08:47:51 root@centos7 data]# crontab -e no crontab for root - using an empty one #用户未设置定时任务 给你创建空的 #1. crond test by dange "/tmp/crontab.vqDK9C" 1L, 24C written crontab: installing new crontab # 更新了定时任务的配置。2.4.2.定时任务书写格式-时间 *# 每天早上8:30分 去学校(go to school) # 1.test01 30 08 * * * go to school # 晚上12点上床睡觉(go to bed/sleep) dbj # 2.test02 * 00 * * * go to bed #每天的半夜12点00-59每分钟运行. 00 00 * * * go to bed #每天运行 问题: 表示整点的时候,未说明分钟的时候,我们要指定的分钟,一般是00.关于分钟位置上是否写*说明 涉及到小时,天,周几的时候,分钟位置上记得写个数(00)每周六半夜12点带cc去dbj * 00 * * 06 dbj * 每周的半夜12点00-59,每分钟都大保健1次 (分钟1次) 0-59 00 00 * * 06 dbj 每周六的半夜12点去dbj2.4.3.定时任务时间部分的特殊符号 *时间部分特殊符号说明案例/每隔xxx时间/2 每2分钟00 /2 * 每2小时-表示范围00 08-22 * 08-22点的每个小时运行,表示独立时间(没规律)00 08,11,14,17,20 **每,全部/所有(没说具体时间) 在分钟的位置上表示00-59,每分钟的意思在小时位置上表示00-23,每小时的意思每天的上午7点到晚上11点 每二个小时运行CMD命令 00 07-23/2 * * * CMD 07 09 11 13 15 17 19 21 23 定时任务每天23点到第2天的7点运行. 00 23,00-07 * * *3.定时任务案例同步时间进行备份日常循环操作巡检+发送邮件3.1.案例01: 每2分钟同步下系统的时间#1. 同步时间,每2分钟同步一次时间 */2 * * * * /sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1tail -f /var/log/cron3.2.案例02: 每天定时备份/etc/到/backup/下面:star::star::star::star::star:3.2.1.命令mkdir -p /backup/ tar -czf /backup/etc-`date +%F_%W`.tar.gz /etc/3.2.2.脚本# 专用脚本目录 mkdir -p /server/scripts/devops-shell# 书写脚本 [15:02:36 root@centos7 devops-shell]# cat backup-etc.sh #!/bin/bash if [ ! -d /backup/ ];then mkdir -p /backup/ fi tar -czf /backup/etc-`date +%F_%T`.tar.gz /etc/3.2.3.定时任务-时间每分钟或每2分钟(调试)#3.backup etc by dange 2024-10-23 * * * * * sh /server/scripts/devops-shell/backup-etc.sh3.2.4. 检查日志和结果watch ls -l3.2.5.定时任务-调试完成后改为指定的时间运行#2. 定时备份 /etc/ 目录 00 00 * * * sh /server/scripts/devops-shell/backup-etc.sh4.定时任务注意事项(箴言)命令使用绝对路径.书写的命令或脚本定向到空或追加到文件.4.1.定时任务书写流程:one:分析要求需要使用什么命令并调试:two:书写脚本(命令较多,功能复杂)与调试:three:书写定时任务的配置文件(绝对路径,定向到空):four:调试4.2.增加注释书写定时任务的时候,尽量添加上一个注释.用于说明这条定时任务作用.4.3.尽量使用脚本定时任务未来避免一些故障,推荐使用脚本.调试脚本的方法: sh -x 或bash -x ,显示脚本执行过程. 有+开头的表示脚本背后执行的过程. 如果开头没有+,表示输出.4.4.定时任务的文件,脚本使用绝对路径/server/scripts/backup-etc.sh4.5.命令使用绝对路径定时任务中直接写命令,可以加上绝对路径定时任务中运行脚本,脚本开头可以重新设置PATH环境变量4.6.定时任务中执行的命令或脚本定向到空或追加到文件# 定向到空 #1.同步时间 */2 * * * * /sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1 # 追加到文件 #2.echo * * * * * echo hello >>/tmp/hello.txt 2>&1 #3.定时备份 /etc/ 目录 00 01 * * * /bin/bash -x /server/scripts/backup-etc.sh >>/tmp/scripts.log 2>&15.定时任务故障案例5.1.定时任务直接书写的时候%有特殊含义%回车.去掉特殊含义需要使用\如果使用脚本,就没有这个问题了5.2.定时任务关于命令路径的故障在定时任务运行命令或脚本的时候,只能识别到/bin或/usr/bin目录下面的命令.只要不在这些目录下面的命令,就要使用绝对路径或者重新定义下PATH环境变量.5.2.1.故障案例故障案例:现象: 命令行执行命令或脚本是成功的,交到了定时任务中执行,提示命令找不到.原因: 定时任务运行脚本的时候或命令的时候,只能识别/bin和/usr/bin目录下面的命令.其他的命令无法识别.解决方案:🅰 简单粗暴,遇到这种命令,直接写绝对路径.🅱 治本,在脚本开头 重新定义下PATH环境变量或重新加载下PATH环境变量.定时任务识别的命令的路径:PATH linux环境变量,存放命令的位置.linux会在PATH路径中查找,如果有则执行.如果没有提示command not found/ no such file or directory5.2.2.使用解决方案🅰5.2.3.使用解决方案🅱 重新定义PATH5.2.4.使用解决方案🅱 重新加载PATH变量5.2.5.故障实例5.3.定时任务没有定向到空或追加到文件故障案例现象:邮件服务开启: 不断收到邮箱 You have new mail in /var/spool/mail/root邮件服务关闭: 一些邮件的临时目录不断堆积小文件. /var/spool/postfix/maildrop原因:定时任务运行命令或脚本的时候,命令或脚本有输出,定时任务就会通过邮件形式发送给root.解决:定时任务中命令或脚本定向到空或追加到文件.# 定向到空 #1.同步时间 */2 * * * * /sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1 # 追加到文件 #2.echo * * * * * echo hello >>/tmp/hello.txt 2>&1 #3.定时备份 /etc/ 目录 00 01 * * * /bin/bash -x /server/scripts/backup-etc.sh >>/tmp/scripts.log 2>&16.定时任务使用案例6.1.定时备份/etc/目录到/backup以ip地址命名的目录中书写脚本+变量取出ip存放变量 ✅取出时间存放到变量 ✅创建以ip命名目录 ✅打包压缩存放到这个ip地址命名的目录中,压缩包加上时间 ✅书写定时任务(每分钟)书写定时任务(改为指定时间)6.2.定时系统巡检(定时输出系统基本信息)写入到/tmp/sys.log中通过手动或自动方式,获取所有主机的基本信息.未来这个操作可以通过监控实现.主机名信息(主机名) ip地址 负载信息(0 0 0) 内存信息(内存多大,用了多少,剩余多少) cpu信息(核心数) 磁盘信息(磁盘使用多少,剩余多少) 进程信息(一共多少进程,几个运行,几个挂起,几个僵尸)写入到/tmp/sys.log文件的格式################################# 主机名: oldboyedu ip地址: 10.0.0.200 ################################# 负载信息 最近1分钟: 0 最近5分钟: 0 最近15分钟: 0 ################################# 内存信息(单位kb) 总计内存: 2000000 内存使用了多少: 200000 内存使用率: 10% ################################# swap信息 swap总大小: 200000 swap使用大小: 0 swap使用率: 0 ################################# 磁盘信息 几块硬盘: 1 根分区大小: 20G 根分区使用率: 10% ################################ 进程信息 进程总数: 100 运行中进程: 2 挂起进程数量: 0 僵尸进程数量: 0 ################################[12:43:53 root@centos7 devops-shell]# cat sys_info_85_day26_v1.sh #!/bin/bash # #********************************************************** #Author: dange #QQ 123456 #Date: 2024-10-24 #FileName: sys_info_85_day26.sh #Version: V1.0 #URL: www.baidu.com #Description: 系统巡检脚本 #Copyright (C): 2024 All rights reserved #********************************************************* export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin #1.输出基本信息 hostname=`hostname` ip=`hostname -I | awk '{print $1}'` echo "#############################################" echo "主机名:${hostname} IP地址:${ip}" #2.负载信息 load1=`uptime | awk -F'[ ,]+' '{print $(NF-2)}'` load5=`uptime | awk -F'[ ,]+' '{print $(NF-1)}'` load15=`uptime | awk -F'[ ,]+' '{print $(NF)}'` echo "###############系统负载信息##################" echo "系统负载信息" echo "最近1分钟负载:${load1}" echo "最近5分钟负载:${load5}" echo "最近15分钟负载:${load15}" #3.内存信息 mem_total=`free -m | awk 'NR==2{print $2}'` mem_used=`free -m | awk 'NR==2{print $3}'` mem_used_percent=`free -m | awk 'NR==2{print $3/$2*100"%"}'` echo "###############内存信息(单位MB)##############" echo "总计内存:${mem_total}MB" echo "已用内存:${mem_used}MB" echo "内存使用率:${mem_used_percent}" #4.swap信息 swap_total=`free -m | awk 'NR==3{print $2}'` swap_used=`free -m | awk 'NR==3{print $3}'` swap_used_percent=`free -m | awk 'NR==3{print $3/$2*100"%"}'` echo "###############内存swap信息##################" echo "swap总大小:${swap_total}MB" echo "swap使用大小:${swap_used}" echo "swap使用率:${swap_used_percent}" #5.磁盘信息 disk_count=`fdisk -l 2>/dev/null| grep '/dev/sd[a-z]:' | wc -l` root_total_size=`df -h | awk '$NF=="/"{print $2}'` root_used_percent=`df -h | awk '$NF=="/"{print $5}'` echo "##################磁盘信息####################" echo "硬盘数量:${disk_count}" echo "根分区大小:${root_total_size}" echo "根分区使用率:${root_used_percent}" #6.进程信息 proc_total=`top -b -n1 | awk 'NR==2{print $2}'` proc_running=`top -b -n1 | awk 'NR==2{print $4}'` proc_stopped=`top -b -n1 | awk 'NR==2{print $(NF-3)}'` proc_zombine=`top -b -n1 | awk 'NR==2{print $(NF-1)}'` echo "##################进程信息####################" echo "进程总数:${proc_total}" echo "运行中的进程数:${proc_running}" echo "挂起的进程数量:${proc_stopped}" echo "僵尸进程数量:${proc_zombine}" echo "#############################################"6.3.发送邮件6.3.1.配置发件人:1636.3.2.获取:授权码(用户密码)HRQPVKNACQMQOLYZ6.3.3.linux配置/etc/mail.rc不推荐vim /etc/mail.rc #写到最后 #未加密的发送方式通过25端口,会被公有云封掉. cat >>/etc/mail.rc <<EOF set from=lidao996@163.com set smtp=smtp.163.com set smtp-auth-user=lidao996@163.com set smtp-auth-password=BGRCTL CZXIT set smtp-auth=login EOF推荐#加密的方式465端口 cat >>/etc/mail.rc <<EOF set nss-config-dir=/etc/pki/nssdb/ set smtp-user-starttls set ssl-verify=ignore set from=lida996@163.com set smtp=smtps://smtp.163.com:465 set smtp-auth-user=lido996@163.com set smtp-auth-password=aaaa set smtp-auth=login EOF详解set from=lidao996@163.com #配置发件人 set smtp=smtp.163.com #配置使用163发送邮件 如果是加密smtps://smtp.163.com:465 set smtp-auth-user=lidao996@163.com #用户名:邮箱名字 set smtp-auth-password=BGRCTLKQDU IT #授权码 set smtp-auth=login #认证形式login #下面3行用于配置加密方式进行传输 set nss-config-dir=/etc/pki/nssdb/ set smtp-user-starttls set ssl-verify=ignore6.3.4.问题配置加密方式发送邮件错误: Error in certificate: Peer's certificate issuer is not recognized解决方法:在sys_info_85_day26_v1.sh 脚本后面加入echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/etc/pki/nssdb/163.crt certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/163.crt certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb/ -i /etc/pki/nssdb/163.crt certutil -L -d /etc/pki/nssdb/ #cd /etc/pki/nssdb/ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i /etc/pki/nssdb/163.crt6.3.5.发送邮件cat /backup/result.log |mail -s "今日巡检的结果" youjiu_linux@qq.com mail -s '巡检' youjiu_linux@qq.com6.3.6.发送邮件带上附件echo "巡检信息在附件" |mail -s "巡检结果" -a /backup/result.log youjiu_linux@qq.com6.3.7.写入定时任务脚本:获取系统各种指标与信息 脚本存放到文件 命令把文件内容通过邮件发送走脚本关系 sh /server/scripts/send-mail.sh 调用执行sh /server/scripts/sys-info.sh 脚本 上面脚本的结果写入到/backup/result.log文件中 通mail命令把result.log发送给对应的用户6.3.8.测试定时任务#6. 系统巡检并发送邮件 * * * * * sh /server/scripts/send-mail.sh &>/dev/null6.4.表格csv表格:通过逗号分割的内容[15:28:44 root@centos7 devops-shell]# cat sys_info_85_day26_v2_csv.sh #!/bin/bash # #********************************************************** #Author: dange #QQ 123456 #Date: 2024-10-24 #FileName: sys_info_85_day26.sh #Version: V1.0 #URL: www.baidu.com #Description: 系统巡检脚本 #Copyright (C): 2024 All rights reserved #********************************************************* export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin #1.输出基本信息 hostname=`hostname` ip=`hostname -I | awk '{print $1}'` echo "主机名,${hostname}" echo "IP地址,${ip}" #2.负载信息 load1=`uptime | awk -F'[ ,]+' '{print $(NF-2)}'` load5=`uptime | awk -F'[ ,]+' '{print $(NF-1)}'` load15=`uptime | awk -F'[ ,]+' '{print $(NF)}'` echo "系统负载信息," echo "最近1分钟负载,${load1}" echo "最近5分钟负载,${load5}" echo "最近15分钟负载,${load15}" #3.内存信息 mem_total=`free -m | awk 'NR==2{print $2}'` mem_used=`free -m | awk 'NR==2{print $3}'` mem_used_percent=`free -m | awk 'NR==2{print $3/$2*100"%"}'` echo "内存信息," echo "总计内存,${mem_total}MB" echo "已用内存,${mem_used}MB" echo "内存使用率,${mem_used_percent}" #4.swap信息 swap_total=`free -m | awk 'NR==3{print $2}'` swap_used=`free -m | awk 'NR==3{print $3}'` swap_used_percent=`free -m | awk 'NR==3{print $3/$2*100"%"}'` echo "swap信息," echo "swap总大小,${swap_total}MB" echo "swap使用大小,${swap_used}" echo "swap使用率,${swap_used_percent}" #5.磁盘信息 disk_count=`fdisk -l 2>/dev/null| grep '/dev/sd[a-z]:' | wc -l` root_total_size=`df -h | awk '$NF=="/"{print $2}'` root_used_percent=`df -h | awk '$NF=="/"{print $5}'` echo "磁盘信息," echo "硬盘数量,${disk_count}" echo "根分区大小,${root_total_size}" echo "根分区使用率,${root_used_percent}" #6.进程信息 proc_total=`top -b -n1 | awk 'NR==2{print $2}'` proc_running=`top -b -n1 | awk 'NR==2{print $4}'` proc_stopped=`top -b -n1 | awk 'NR==2{print $(NF-3)}'` proc_zombine=`top -b -n1 | awk 'NR==2{print $(NF-1)}'` echo "进程信息," echo "进程总数,${proc_total}" echo "运行中的进程数,${proc_running}" echo "挂起的进程数量,${proc_stopped}" echo "僵尸进程数量,${proc_zombine}"bash sys_info_85_day26_v2_csv.sh >result-linux.txt iconv -f utf8 -t gbk result-linux.txt -o result-linux.csvendl
2024年11月12日
4 阅读
0 评论
0 点赞
2024-10-11
云计算基础
@TOCday01、云计算行业介绍一、今日学习收货Linux操作系统:Linux系统是一种开源的操作系统,具有安全性,稳定性,灵活性。它被广泛应用于企业服务器当中,拥有很多软件生态,支持多用户。全球服务器领域,操作系统采用 Linux 占比,接近 80%;开源:开放源代码、免费、安全、稳定IP:IP 地址是所有网络设备在互联网上唯一的地址标志PV:点击量单台服务器访问极限: (限定情况):10万PV/小时网站类型:新闻类服务器类型:1万5千集群:将多台计算机连接在一起,作为一个整体来工作。它可以提高系统的性能、可靠性和可扩展性,在集群中,多台计算机共享工作负载,通过协作完成任务。负载均衡性集群:是指将网络请求合理地分发到多台服务器上,以达到最大化利用服务器资源、提高网站性能和可用性的日的(LVS)轮询加权轮询应急故障处理高可用性集群:是指系统能够在长时间内持续正常运行,对于服务中断有很强的抵抗力,当一台接收外理请求的服务器挂了之后,备用的能够及时而上,提供系统的容错和故障转移。备用机二、今日学习问题通过今日的学习课程让我了解到云计算就是通过整合服务器进行相关的服务,能否通过最小的资源实现最大的访问量和并发量,降低企业成本。三、今日学习感悟通过今日的学习课程让我了解到云计算是一切新兴技术的底层基石,了解到集群的搭建,常用的算法,故障的处理知识。day02、Windows 安装一、Windows 安装Windows 版本分类:个人版:(阉割版本:古代的皇宫的公务员)Windows XP 7 8 10 11家庭版旗舰版服务器版:Windows Server 2000 2003 2008 2012 2016 2019+Windows 安装步骤:1、拔网线2、正常安装 Windows 系统a.备份文件b.下载Windows 镜像:官网c.制作启动U盘:(在U盘安装一个简易 win PE,利用U盘来启动系统,绕开了C盘,才能彻底清空C盘系统,达到重装目的)第三方工具 (大白菜)d.进入Bios系统:修改启动级别为U盘优先启动e.进入u盘的临时操作系统f.安装Windows操作系统g.安装完成后重新启动级别修改为硬盘启动3、安装驱动程序a.第三方软件(驱动精灵):优点:简单、傻瓜式安装缺点:不开源b.手工官网下载安装:优点:相对安全可靠缺点:对使用者技术要求高4、安装杀毒软件和防火墙严禁:金山系软件5、插入网线6、更新(windows补丁、驱动、杀毒软件和防火墙)7、安装常用软件8、常规优化防火墙:是对数据包(IP地址、MAC地址、端口号、底层协议、数据包中数据)进行过滤BIOS(基本输入/输出系统)主板自带的简易系统(系统时间、启动顺序)进入BIOS方法:台式机: del键笔记本:不同品牌,不同型号,按键不一样F2-F12 Fn+F2开机时一直按F2/F10/Delete...键安装方式:光盘安装:U盘安装:优点:相对简单 缺点:安装时间长,单对单磁盘对拷安装:Windows: ghost:优点:速度快 缺点:不稳定Linux: dd: 优点:刻录稳定 缺点:慢批量无人值守安装:优点:一对多安装缺点:对使用者技术要求高密码三大原则:复杂性:避免暴力破解密码大于8位大写、小写、数字、符号四种最少含有三种不允许使用个人相关信息不允许使用现有英文单词易记忆性:flzx_3QC(飞流直下三千尺)时效性: 原则180天更改一次密码二、今日学习收货今日学习了解到windows系统的安装、BIOS、4种安装方式、密码三大原则三、今日学习问题暂无问题四、今日学习感悟通过此次让我感悟到以后电脑出现此次情况,可以快速的使用U盘启动电脑,进行资料的备份,防止重装系统数据丢失问题day03、虚拟机安装【桥接模式使用】一、虚拟机的设置与使用1.1.VMware简介VMware官方网站:http://www.vmware.comVMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统。1.2.VMware主要特点:不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统本机系统可以与虚拟机系统网络通信可以设定并且随时修改虚拟机操作系统的硬件环境1.3.建议的VMware配置CPU: 建议主频为1GHz以上内存: 建议8GB以上硬盘: 建议分区空闲空间8GB以上1.4.虚拟机安装1.4.1.安装过程1.4.2.注册1.5.常见故障安装过程报错重新下载安装(最好换个版本)检查虚拟机网卡现象:控制面板--查看网络状态--更改适配器配置--检查VMnet1和VMnet8两块虚拟网卡解决办法: 顺序执行(优先级)a.还原默认设置:虚拟机--编辑--虚拟网络适配器--更改设置--还原默认设置b.重新安装虚拟机(最好更换版本)c.重新安装真实机虚拟机启动时蓝屏原因:win11和虚拟机不兼容解决方案:安装采用最先版本VMware(16)(17)CPU虚拟化不支持现象:解决方案:进入BIOS(UEFI),查找CPU虚拟化开关,开启CPU虚拟化1.6.虚拟机删除方式注意:一定要删除干净,否则需要重新安装真实机删除Windows软件:软件自带卸载工具软件管家控制面板---软件卸载后备手段:VMware install cleaner1.7.基本使用1.8.day04、IIS实验day05、硬件基础一、计算机基础1.1.存储单位存储单位:存储器的最小单位是二进制位(比特);每一个最小单位能够存储一个二进制数值比特位 bit 0/1字节: 1Byte = 8bit1KB = 1024Byte1MB = 1024KB1GB = 1024MB1TB = 1024GB1PB = 1024TB1EB = 1024PB1ZB = 1024EB在计算机中所有数据都必须是二进制的英文:1Byte = 8bit 2(8) = 2551.2.ASCII码:中文:2Byte = 16bit 2(16) = 65535简体中文:GB2312繁体中文:BIG5UTF-81.3.计算机的发展史计算机的发展经历了4个时代第一代 (1946至1956年): 电子管计算机时代第二代 (1958至1964年):晶体管计算机时代第三代(1964至1972年):集成电路计算机时代第四代 (1972年至今):大规模、超大规模集成电路计算机时代摩尔定律:每18个月,集成电路的集成密度会翻一翻1.4.计算机组成:软件系统:操作系统软件:Linux应用软件:服务器软件(Apache...)硬件系统:外设:服务器不需要外设(严禁:噪音污染、光污染)输入设备:键盘、鼠标、摄像头、麦克风、触摸板、方向盘输出设备:屏幕、音响、打印机、投影仪1.5.主机主板:计算机各种设备的连接载体1.6.常见插槽:PCI插槽 66MB/S (淘汰)IDE插槽: 133MB/S (老式机械硬盘、光驱)SCSI插槽: 200MB/S (老式服务器机械硬盘)SATA插槽: 500MB/S (机械硬盘、SSD固态硬盘)M.2 插槽:M.2 SATA插槽: 500MB/S (M.2 SATA固态硬盘)M.2 NVMe(PCIe 4.0): 7000MB/S (M.2 NVMe(PCIe 4.0硬盘))DDR4插槽: 内存(速度快)(临时存储)DDR4: >=2400MHz <4800MHzDDR5: >=4800MHzCPU(中央处理器):3G次 8Byte 16 =网速:100Mbps = 100M bit/s = 12.5MB/s1.7.硬盘分类:机械硬盘:100MB/s固态硬盘:SSD固态硬盘:500MB/s二、今日学习收货我首先学习了计算机的基本构成,包括硬件和软件两大部分。在硬件方面,我了解了中央处理器(CPU)、内存、硬盘等核心组件的功能和相互之间的协作关系。在软件方面,了解了操作系统软件和服务器软件。这些知识的掌握为我后续深入学习计算机相关领域打下了坚实的基础。三、今日学习问题暂无问题四、今日学习感悟今天的学习让我深刻体会到了计算机基础的重要性和复杂性。计算机作为现代社会不可或缺的工具,其基础知识的掌握对于我们的学习和工作都至关重要。通过学习计算机基础,我不仅了解了计算机的基本构成和工作原理,还学会了如何运用计算机解决实际问题。同时,我也意识到学习是一个不断探索和进步的过程,需要保持好奇心和求知欲,不断挑战自己,才能取得更好的成绩。总的来说,今天的学习让我收获颇丰,也让我更加明白了自己的不足和需要努力的方向。我会继续努力学习计算机基础知识,为未来的学习和工作做好充分的准备。day06、IDC机房和机柜知识一、IDC机房和机柜知识【了解】1.1.IDC机房为企业提供存放服务器的空间和提供大量带宽,宽带分为单线带宽和多线(BGP线路)带宽。联通、移动、电信、教育、广电、铁通。不同线路之间通信很慢。单线,1M/30元,只有某一个线路比如,联通,做CDN服务的企业,或者CDN服务器。多路(BGP线路):4线 联通、移动、电信、教育,1M/120-300元,企业多数都会买BGP机房。1.2.机柜和服务器通常机柜都是42U约2米高,一般每个服务器之间都会留有散热的空余空间。1.3.IDC机房服务器上架流程1.3.1.购买服务器服务器配置清单,价格清单(找不低于三家),发给老大选择。老大审核后,申请财务支付。走==钉钉==流程。1.3.2.上架服务器:one: 第一种上架方式:把购买的服务器直接送到托管的IDC机房,由IDC机房的人负责上架(7--8 个)然后由运维人员去装系统,初始化,测试网络连接回公司远程连接,配置各种服务。:two: 第二种上架方式:把购买的服务器送到公司,做好RAID,做好系统,然后送到IDC机房运维人员自行上架,装系统,初始化,测试回公司远程连接,配置各种服务、压力测试,正式上线1.3.3.和IDC约定上架日期确定好上架日期之后,提上架工单上架人员:姓名、身份证、服务器型号、机柜号、IP地址1.3.4.去IDC机房需要准备的工具身份证U盘、光盘、移动光驱、空白光盘、螺丝刀(也可以提前配置好==无人值守安装服务==)1.3.5.去机房配置服务器细节:one: 先去IDC机房等记去前台等记,拿到工牌寄存背包,登机领取==显示器、键盘或者小推车==:two: 配置服务器做RAID、装系统、配网络、==配置防火墙==初始化、测试SSH连接,确保投过跳板机能正常连接:three: 收尾去前台归还工牌,小推车(放显示器和键盘)拿回自己的东西手工回公司endl
2024年10月11日
3 阅读
0 评论
0 点赞
1
2
3