运维及自动化
文章平均质量分 69
beeworkshop
长风破浪会有时,直挂云帆济沧海
展开
-
关于SSHD的端口维护(改变及增加侦听端口)
常见的有两种维护需求1. 改变SSHD的侦听端口vim /etc/ssh/sshd_configPort 2222#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress ::效果[root@server ~]# systemctl restart sshd[root@server ~]# netstat -ntpl | grep sshdtcp 0 0 0.0.0.0:2222 0.0.原创 2021-10-09 10:38:55 · 641 阅读 · 0 评论 -
一个rsync数据备份的方法(rsync单向)
文章目录一、定时同步1. 配置免密登陆2. 编写shell脚本3. crontab定时执行二、触发式/实时同步1. 在服务器B上调整inotify内核参数2. 使调整inotify内核参数立刻生效3. 安装Inotify-Tool工具4. 测试5. 编写脚本6. 配置systemd开机自启软件安装yum install rsync -y注意:参与同步的服务器上都要安装rsync。一、定时同步1. 配置免密登陆2. 编写shell脚本#!/bin/bash# backup.shrsync原创 2021-07-17 12:59:54 · 715 阅读 · 1 评论 -
常用 Linux 维护技巧
文章目录谨慎删除文件关闭别名使用 sudo使用别名命令编辑及光标移动历史命令快速执行实时查看日志磁盘或内存情况查看当前内存使用情况使用-h参数根据名称查找进程id根据名称杀死进程查看进程运行时间快速目录切换多条命令执行查看压缩日志文件清空文件内容将日志同时记录文件并打印到控制台终止并恢复进程执行小程序运行的时间查看内存占用前10的进程快速查找你需要的命令命令行下的复制粘贴搜索包含某个字符串的文件屏幕冻结无编辑器情况下编辑文本文件查看elf文件查看库中是否包含某个接口命令编辑使用远程机器的名称登录到机器上执行转载 2021-07-15 11:16:04 · 257 阅读 · 0 评论 -
使用脚本实现自动清除指定文件夹下丢失链接文件的符号链接
使用脚本实现自动清除指定文件夹下丢失链接文件的符号链接脚本可清除,指定文件夹下,对视链接文件的符号链接。在使用Linux时,常常会为自己许多文件或者程序建立符号链接,这样就不用每次都到对应的文件夹下去寻找对应的文件而只需要对需要经常访问的文件建立符号链接就可以了,这样就能把你常需要访问的文件放到桌面上,或者指定到另外一个文件夹中。这样访问时,方便了很多,但是用完之后往往留下许多的符号链接,这些链接需要用户自己手动确认是否可以删除,为linux的使用带来很多的不方便,使用该脚本就能解放你的双手,只需要执转载 2021-06-11 11:47:19 · 159 阅读 · 1 评论 -
Linux NTP时间同步服务
文章目录一、时间时区概念二、ntpd 与 ntpdate三、部署 NTP 服务1 服务软件的安装2 服务的基本配置(/etc/ntp.conf)3 设置系统开机自启动4 加入防火墙5. 将正确时间写入硬件6. 客户端使用配置7. 查看 ntp 同步状态一、时间时区概念UTC整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时。GMT格林威治标准时间指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在转载 2021-06-09 11:34:11 · 740 阅读 · 0 评论 -
常用正则表达式速查(备忘版)
文章目录一、校验数字的表达式二、校验字符的表达式三、特殊需求表达式四、在线测试一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\转载 2021-05-17 09:19:38 · 122 阅读 · 0 评论 -
利用AutoSSH实现远程管理内网服务器
文章目录一、组网说明二、基本配置1. Server2的配置步骤2. Server1的配置步骤3. 配置验证4. 在Server2上配置autossh的开机自启动三、PC连接目标机Server2实现远程管理1. PC端连接2. PC连接Server2后的验证一、组网说明Server1为公网上的一台服务器(拥有公网地址,公网可达)。Server2为内网的一台服务器(只有私网地址,没有公网地址)。PC可以连接到公网,但也只有私网地址。现在的需求是使用PC可以访问到Server2。测试地址规划:原创 2021-05-15 22:35:49 · 2199 阅读 · 2 评论 -
11 个步骤完美 排查服务器 是否已经被入侵
文章目录一、入侵者可能会删除机器的日志信息二、入侵者可能创建一个新的存放用户名及密码文件三、入侵者可能修改用户名及密码文件四、查看机器最近成功登陆的事件和最后一次不成功的登陆事件五、查看机器当前登录的全部用户六、查看机器创建以来登陆过的用户七、查看机器所有用户的连接时间(小时)八、如果发现机器产生了异常流量九、可以查看/var/log/secure日志文件十、查询异常进程所对应的执行脚本文件1. top命令查看异常进程对应的PID2. 在虚拟文件系统目录查找该进程的可执行文件十一、如果确认机器已被入侵,重要转载 2021-05-09 12:00:37 · 1144 阅读 · 0 评论 -
Ubuntu 20.04中创建本地APT软件包仓库
文章目录一、系统环境二、安装dpkg-dev三、安装http服务四、创建本地仓库的存储目录五、编写一个脚本来更新Package.gz文件六、将本地APT仓库地址添加到客户端sources.list文件中一、系统环境Ubuntu 20.04 LTS二、安装dpkg-dev需要安装dpkg-dev软件包,才能为本地APT仓库创建软件包元数据。$ sudo apt install -y dpkg-dev三、安装http服务如果该软件仓库需要为其他ubuntu 20.04服务器使用,可以安装web转载 2021-04-24 16:09:18 · 2052 阅读 · 1 评论 -
systemd进程管理工具实战教程
文章目录1. systemd介绍2. systemd特点:1.最新系统都采用systemd管理(RedHat7,CentOS7,Ubuntu15...)2.CentOS7 支持开机并行启动服务,显著提高开机启动效率3.CentOS7关机只关闭正在运行的服务,而CentOS6,全部都关闭一次。4.CentOS7服务的启动与停止不再使用脚本进行管理,也就是/etc/init.d下不在有脚本。5.CentOS7使用systemd解决原有模式缺陷,比如原有service不会关闭程序产生的子进程。3. systemd转载 2021-04-05 20:56:25 · 390 阅读 · 1 评论 -
非常实用的 Shell 拿来就用脚本实例
文章目录检测两台服务器指定目录下的文件一致性定时清空文件内容,定时记录文件大小检测网卡流量,并按规定格式记录在日志中计算文档每行出现的数字个数,并计算整个文档的数字总数杀死所有脚本从FTP服务器下载文件连续输入5个100以内的数字,统计和、最小和最大监测Nginx访问日志502情况,并做相应动作将结果分别赋值给变量批量修改文件名统计当前目录中以.html结尾的文件总大小扫描主机端口状态输入数字运行相应命令Expect实现SSH免交互执行命令监控httpd的进程数,根据监控情况做相应处理批量修改服务器用户密码转载 2021-04-05 18:59:22 · 180 阅读 · 2 评论 -
Ubuntu20.04 server 安装iSCSI
文章目录一、配置iSCSI服务器端——iSCSI Target1. 安装2. 配置3. 测试结果二、配置iSCSI客户端——iSCSI Initiator1. 安装2. 配置3. 测试结果4. 创建文件系统三、Windows的Initiator参考:https://www.linuxidc.com/Linux/2018-05/152535.htm一、配置iSCSI服务器端——iSCSI TargetiSCSI Target提供存储服务——磁盘。1. 安装apt-get update -y#原创 2021-03-08 22:16:58 · 7769 阅读 · 0 评论 -
Ubuntu Server 20.04上安装OpenLDAP和phpLDAPadmin
文章目录一、参考:https://www.techrepublic.com/article/how-to-install-openldap-and-phpldapadmin-on-ubuntu-server-20-04/https://blog.csdn.net/lodianm/article/details/105386314https://www.jianshu.com/p/e6de94d15d47一、原创 2021-03-07 18:16:29 · 5141 阅读 · 2 评论 -
Linux中使用iptables记录网络访问日志
文章目录一、配置实例二、自定义iptables输出日志的存放位置1. CentOS2. Ubuntu一、配置实例iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 4/min -j LOG --log-prefix "Iptables-SSH-IN: " --log-level 4iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACC原创 2021-03-02 12:18:20 · 6011 阅读 · 0 评论 -
Linux运维小小案例
文章目录一、生成随机字符串二、文件名批量修改三、并发ping四、解决DOS攻击五、MySQL备份六、入侵检测与报警七、产生随机数八、子脚本的调用方式九、shell逐行读取文件十、测试表达式区别一、生成随机字符串# 去掉/\两个字符,取第5到14位。openssl rand -base64 40 | sed 's/[/\]//g' | cut -c 5-14# 或者生成16位随机字符,1个,要包含数字-n和特殊字符-y。pwgen 16 1 -n -y二、文件名批量修改法一#!/bin原创 2021-02-27 00:19:38 · 1804 阅读 · 1 评论 -
Expect入门
文章目录一、工作流程二、安装三、基本案例四、基本命令一、工作流程spawn 启动指定进程 -> expect 获取期待的关键字 -> send 向指定进程发送指定字符 -> 结束二、安装yum install -y expectapt install -y expect三、基本案例test.exp#!/usr/bin/expectspawn ssh bee@192.168.74.152 dateexpect "*password" {send "123456\n"}原创 2021-02-26 16:38:59 · 159 阅读 · 0 评论 -
Ubuntu Server20的常用设置
文章目录♦ Ubuntu server的安装♦ 取消ssh的登陆欢迎界面♦ 修改hostname♦ 配置静态IP♦ 修改更新源♦ 修改时区并同步时间♦ 修改时间戳的显示格式♦ 修改时间为24小时制♦ 修改系统日志♦ 添加新用户并授权sudo♦ 限制用户对su命令的使用♦ 删除用户取消附加组♦ 配置ssh公钥登陆♦ 配置sshd♦ 安装Docker♦ 安装JDK♦ 关闭不需要的服务♦ 可以删除的账号和组♦ 调整history♦ 加入日志审计功能♦ 持续更新中...♦ Ubuntu server的安装镜原创 2021-02-17 20:10:55 · 2110 阅读 · 1 评论 -
Ubuntu下MySQL的安装
1. 安装sudo apt-get updatesudo apt-get install -y mysql-server mysql-client2. 数据库初始化sudo mysql_secure_installation交互如下:Securing the MySQL server deployment.Connecting to MySQL using a blank password.VALIDATE PASSWORD PLUGIN can be used to test pa原创 2021-02-14 22:30:28 · 99 阅读 · 0 评论 -
Shell脚本 – 查看网络接口信息
导读 本文介绍如何是用shell脚本查看网络接口的ip地址、MAC地址、网络速率等信息。系统环境Centos71)检查可用的网络接口使用ip和awk命令,过滤出状态为UP的网络接口。[root@localhost ~]# ip ad|awk '/state UP/ {print $2}'ens33:ens38:2)查看网络接口的IP地址使用下面命令过滤出每个接口的ip地址:[root@localhost ~]# ip -o addr |awk '/inet/{print $2,$4.转载 2021-02-08 11:58:33 · 1065 阅读 · 0 评论 -
如何自动接受SSH密钥指纹?
首次连接到Linux系统时,SSH会提示你接受计算机的指纹以成功建立连接,因为“ known_hosts”文件中没有指纹。指纹是系统公钥的缩写版本,为了保护自己免受中间人攻击(MITM),ssh程序使用自上次连接以来存储的指纹验证远程系统ssh的指纹。如果指纹已更改,系统将提醒你并询问是否要继续。有时你可能需要自动接受SSH指纹。例如,如果创建了一个shell脚本用来远程管理多台linux服务器。可以使用以下两种方法来完成此操作。使用StrictHostKeyChecking=no选项自动接受.转载 2021-02-03 23:32:20 · 1431 阅读 · 0 评论 -
用Shell监控文件变化
文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步。文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步。(可用于代码自动发布)实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步。(可用于代码自动发布)。inotify 是linux内核的一个特性,在内核 2.6.13 以上都可以使用。如果在shell环境下,可以安装 yum install in.转载 2020-12-17 23:05:57 · 2300 阅读 · 0 评论 -
如何集中化管理ssh的密钥
开发人员经常需要访问某些服务器,做一些检查应用程序日志之类的工作。一般来说,访问过程是使用公私钥加密来控制的,每位开发人员都会生成自己的公私钥对。并且,每个开发人员的公钥都会添加到他们有权访问的每台服务器上的 authorized_keys 文件中。文章目录1. 痛苦的手动更改2. 替代解决方案2.1 解决方案:签名密钥2.2 基本思想2.3 优点2.4 该怎么做?2.5 改进一下2.6 注销密钥3. 小结:ssh 密钥管理的好方法1. 痛苦的手动更改到目前为止,这还没什么问题。但是,当一.转载 2020-12-12 11:16:33 · 772 阅读 · 0 评论 -
windows下切换git账号
1. 查看当前用户名和邮箱git config user.namegit config user.email2. 设置当前用户名和邮箱git config --global user.name "somebody"git config --global user.email "somebody@some.com"3. 其他参考看这里原创 2020-10-25 12:21:04 · 1340 阅读 · 0 评论 -
linux常用ip命令
查看网络接口信息ip addr showip addr show ens33启用或者禁用网络接口ip link set ens33 downip link set ens33 up为接口设置临时的IP地址ip addr add 192.168.43.175/255.255.255.0 dev ens33从网络接口中删除ip地址ip addr del 192.168.43.175/24 dev ens33查看路由和默认网关信息ip route showip route get原创 2020-10-24 22:46:38 · 375 阅读 · 0 评论 -
在CentOS7下的网络接口上启用vlan
1. 加载8021q内核模块modprobe --first-time 8021qlsmod | grep -i 8021q8021q 33080 0 garp 14384 1 8021qmrp 18542 1 8021qmodinfo 8021q2. 创建子接口及vlan封装ip link add link ens33 name ens33.200 type vlan i原创 2020-10-21 15:07:40 · 847 阅读 · 0 评论 -
如何使用awk处理文本内容
教学开始我们将使用以下文本文件作为本文中所有示例的输入文件:[root@localhost ~]# cat << EOF >> content.txt出现大于号时将一下内容复制到终端,将文本内容保存到content.txt文件中。 hitesh engineer sales 30000jayesh director account 25000vyom manager purchase 20000bhavesh engineer sales 30000转载 2020-10-18 10:13:49 · 668 阅读 · 0 评论 -
xshell6常见配置
1. 基本配置添加粘贴快捷键菜单:工具->选项设置光标闪烁设置缓冲区和编码添加log按钮(启动/停止)文件传输设置锁定工具栏不间断连接关闭响铃智能选择启用(在 工具->选项 中)2. 设置护眼风格复制系统配色方案设置背景色设置前景色目录和压缩文件颜色:目录:RGB(128,128,255)压缩文件:RGB(128,128,0)vim注释RGB(255,128,64)...原创 2020-10-05 13:03:57 · 1095 阅读 · 0 评论 -
linux切割日志文件的shell脚本
#!/bin/bash # 获取前一天的日期suffix=`date -d "-1 day" "+%Y%m%d"` # split命令用于切割文件# -b SIZE: SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).# -d -a 4表示文件原创 2020-10-02 09:52:25 · 931 阅读 · 0 评论 -
linux shell实现中文UrlEncode编解码
1. UrlEncode编码echo '张飞' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'echo '张飞' |tr -d '\n' |od -An -tx1|tr ' ' %2. UrlEncode解码url="%e5%bc%a0%e9%a3%9e"printf $(echo -n $url | sed 's/\\/\\\\/g;s/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"...原创 2020-10-01 17:30:34 · 4005 阅读 · 0 评论 -
利用 Shell 脚本来监控 Linux 系统的内存
一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)1、下载安装:http://downloads.sourceforge.net … 206451&big_mirror=0# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install2、创建msmtp配置文件和日志文件(host为邮件域名,邮件用户转载 2020-09-29 15:04:48 · 489 阅读 · 0 评论 -
关闭linux终端还让程序继续执行的方法
文章目录一、前言二、思考三、nohup四、setsid五、exit六、trap七、screen一、前言我们在使用linux时,会经常要把一个程序放到后台运行,这时候就需要在程序的最后使用【&】符号,但是当直接关闭这个终端时,程序就会退出,下面我介绍5种方法,在关闭终端后程序还继续运行。二、思考首先要考虑一个问题,直接关闭终端为什么后台程序就退出了?那是因为直接关闭,终端会向当前环境启动的后台任务发送SIGHUP信号,让运行的程序挂起,那么忽略SIGHUP信号就行啦。三、nohup最常用转载 2020-09-15 22:31:23 · 17833 阅读 · 3 评论 -
Win10做NFS客户端挂载Linux NFS服务端(含文件编码转换)
1. 安装启动软件yum install -y nfs-utils rpcbindsystemctl start rpcbindsystemctl enable rpcbindsystemctl start nfs-serversystemctl enable nfs-server# 优雅重启systemctl reload nfs-server.service2. Linux NFS服务端配置useradd myshare -s /sbin/nologin -d /share -Mi原创 2020-08-28 21:22:56 · 7582 阅读 · 0 评论 -
使用Unison 同步文件
环境Centos7(1): 192.168.43.165Centos7(2): 192.168.43.166安装Unison在两个系统中都要安装epel源,然后都要安装unison:[root@192_168_43_165 ~]# yum -y install epel-release[root@192_168_43_165 ~]# yum makecache[root@192_168_43_165 ~]# yum -y install unison两台操作系统配置ssh免密登录[roo转载 2020-08-26 14:34:48 · 459 阅读 · 0 评论 -
Linux下如何对目录中的文件进行统计
统计目录中的文件数量统计目录中文件的最简单方法是使用ls每行列出一个文件,并将输出通过管道符传递给wc计算数量:[root@localhost ~]# ls -1U /etc |wc -l执行上面的命令将显示所有文件的总和,包括目录和符号链接。-1选项表示每行列出一个文件,-U告诉ls不对输出进行排序,这使命令的执行速度更快。ls -1U命令不计算隐藏文件。如果只想计算文件而不包括目录,请使用以下命令:[root@localhost ~]# ls -1Up /etc |grep -v /|wc -转载 2020-08-26 12:54:28 · 559 阅读 · 0 评论 -
创建CentOS7本地yum&epel源
文章目录一、安装软件包二、下载软件包并配置本地仓库1. yum源2. epel源♦ 下载软件包◆ 使用wget◆ 使用reposync3. 配置客户端的yum源◆ 客户端通过ip访问◆ 客户端本地访问4. 客户端服务器测试三、当出现找不到软件包时1. 修改yum的配置使保留下载的rpm2. 在yum的缓存目录中找到下载的rpm3. 拷贝软件包更新本地仓库四、更新本地仓库一、安装软件包# reposync包含在yum-utils中yum install httpd createrepo yum-ut原创 2020-08-21 16:25:22 · 958 阅读 · 0 评论 -
两台服务器http方式共享yum软件仓库
文章目录一、在172.16.1.100制作本地yum源二、测试三、172.16.1.100通过apache镜像目录共享四、在172.16.1.112配置yum五、测试一、在172.16.1.100制作本地yum源ip:172.16.1.112,172.16.1.100系统版本:Centos7[root@localhost ~]# mount /dev/cdrom /mnt在/etc/yum.repos.d/ 下新建123.repo文件[123]name=123baseurl=file:/转载 2020-08-21 14:45:46 · 352 阅读 · 0 评论 -
CentOS7下配置主从DNS、轮询及子域授权
文章目录一、bind9的安装二、bind9的配置1. 配置master(192.168.74.204)♦ 主配置文件(/etc/named.conf)♦ 区域配置文件(/etc/named.rfc1912.zones)♦ 数据配置文件(/var/named/beeworkshop.com.zone)2. 配置slave (192.168.74.205)♦ 主配置文件(/etc/named.conf)♦ 区域配置文件(/etc/named.rfc1912.zones)三、常用命令四、参考文献一、bind9原创 2020-08-15 15:36:11 · 1015 阅读 · 0 评论 -
yum安装软件之后保存rpm包
修改/etc/yum.conf[root@node03 ~]# cat /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0 <----------- 这里改为1debuglevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=5bugtracker_url原创 2020-08-01 16:15:26 · 857 阅读 · 0 评论 -
在shell script中使用sed命令显示帮助信息
脚本实例###### my-script — does one thing well###### Usage:### my-script <input> <output>###### Options:### <input> Input file to read.### <output> Output file to write. Use '-' for stdout.### -h Show this me转载 2020-08-01 16:01:27 · 347 阅读 · 0 评论 -
sed命令入门
命令格式参数-n 这个参数是–quiet或者–silent的意思。表明忽略执行过程的输出,只输出我们过滤后的结果即可。我们常用的还有另外一个参数 :-i。使用此参数后,所有改动将在原文件上执行。你的输出将覆盖原文件。范围1,4 表示找到文件中1,2,3,4行的内容。这个范围的指定很有灵性,请看以下示例(请自行替换图中的范围部分)。5 选择第5行。2,5 选择2到5行,共4行。1~2 选择奇数行。2~2 选择偶数行。2,+3 和2,5的效果是一样的,共4行。2,$ 从第二行转载 2020-07-14 11:28:42 · 367 阅读 · 0 评论