运维开发 Linux 物理机实现快照功能 简介 物理机装的系统随着时间的增加,东西肯定越来越多,磁盘占用也越来越大,想要清理这些内容变回一个干净的系统是一件不容易的事情,Linux 上也是如此。而虚拟机则可以为刚装好的系统创建一个快照,无论后面在系统内进行任何操作都可以通过快照进行快速复原系统。 经过一方摸索,最开始是准备使用 dd 命令进行镜像的备份和还原,这种方式可行,但是耗时实在过长。于是想着如果系统支持快照还原就好了,之前确实也有…
运维开发 Mysql 的日志文件 binlog 与数据恢复 一、Binlog 1. 简介 MySQL 的二进制日志(Binlog)是一种事务日志,用于记录对数据库的更改操作。 Binlog 主要用于 MySQL 复制和恢复: 复制: 从库通过拉取主库的binlog实现主从数据一致 恢复: 通过重放binlog恢复数据丢失或误操作情况 2. 原理 在 MySQL 中,每个事务都会在提交后生成相应的 Binlog 记录。MySQL 服务器会为每个客户端连接创建…
运维开发 解决 Centos 的 yum 源失效问题 Centos7 已经在 7 月 1 日彻底停止维护了,所以使用 yum 进行安装时会提示 404,只需要更换 yum 源就好使了。 首先备份配置文件,虽然这个文件以后也用不到了,但是养成好习惯。 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 第三方库源 #sudo wget -O …
运维开发 使用 mtr 命令排查网络问题 一、简介 常用的 Ping,Traceroute,nslookup 一般用来判断主机的网络连通性,其实有一个更好用的网络联通性判断工具,这个命令就是 MTR。MTR 结合了 Traceroute 和 Ping 的功能,提供了更为丰富的信息,包括实时的网络状态和统计数据。 Traceroute 默认使用 UDP 数据包探测,而 MTR 默认使用 ICMP 报文探测,ICMP 在某些路由节点的优先级要…
运维开发 Linux 磁盘加密和自动挂载 1. 描述 LUKS(Linux Unified Key Setup)是一个标准,定义了在Linux系统上进行磁盘加密的格式和规范。 而 cryptsetup 是一个实现了 LUKS 标准的工具,用于在 linux 系统上管理磁盘加密。它能够创建、管理和解锁加密的磁盘分区或整个硬盘。主要功能包括设置加密选项、创建加密设备映射、打开和关闭加密设备等。 使用 cryptsetup 对分区进行加密后,该…
运维开发 Ubuntu 在线更新内核 之前想着离线更新内核,但是根据网上下载了内核的安装包,发现安装新的内核会牵扯到其他软件的更新问题,比如说安装新版本的内核需要 libc6 版本 >= 2.38 等等,确实有点麻烦。 后来了解到 Mainline, 它是一个用于在 Ubuntu 系统上安装最新 Linux 内核的工具。并且,它由 Ubuntu 的主线内核团队维护,使用户能够轻松地获取和安装由 Ubuntu 内核团队构建和测试的…
运维开发 Linux 创建和释放 swap 分区 1. 创建swap分区 创建 swap 文件: mkdir /.swap dd if=/dev/zero of=/.swap/swapfile bs=1M count=2048 把这个文件变成Swap文件并激活: mkswap /.swap/swapfile && swapon /.swap/swapfile 编辑 /etc/fstab 设置开机启用: /.swap/swapfil…
运维开发 Ubuntu 优化 dns 解析 使用的 Ubuntu 系统之前尝试过修改 /etc/resolv.conf,发现修改会被重置,只知道本机启动了一个 dns 的解析服务 systemd-resolved。(今天才知道原来是因为这个文件是一个软连接) ls -alh /etc | grep resolv.conf lrwxrwxrwx 1 root root 39 2月 27 14:19 resolv.conf -> ../r…
运维开发 Linux 自己常用脚本(持续更新) 有些常用的东西还是写成脚本好了,有些好用的脚本也该收藏一下,本文持续更新。 常用 1. 安装docker 安装 docker 24.0.0 版本 sudo bash -c "$(curl -fsSL https://sh.amjun.com/docker.sh)" 2. 安装docker-compose 安装 compose v2.23.3 版本,如果没有安装 docker 会…
运维开发 linux 如何不记录本次会话的命令 1. 临时关闭历史记录功能 set +o history 该命令会临时关闭历史记录功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。 2. 清理之前的记录 vim ~/.bash_history 就算是一登录就执行关闭历史记录,历史记录中还会有 set +o history 命令,此时可以直接编辑 ~/.bash_history 文件…
运维开发 Nginx 带不带斜杆的区别最全分析 前言 由于 nginx 带不带/老是会混乱,并且确实在使用中出现过问题,比如使用不当导致代理后的 url 带有//,或者说配置很久也不能达到自己想要代理的效果。于是想着还是好好研究一下,并在以后规范自己 nginx 的使用。 如果代理后的地址带有 //,spring security 中可能报错:The request was rejected because the URL contained …
运维开发 快速搭建 nginx 的脚本 可以说是水一篇文章了,不过从零开始搭建 nginx 的测试情况实在太多了,于是将之前搭建 nginx 的教程直接写成了脚本,方便进行安装。 #!/bin/bash rm -rf /home/docker/nginx mkdir -p /home/docker/nginx/{conf.d,html,logs} docker run -d –name nginx -p 88:80 nginx &am…