“兼职”运维的常用命令

640?wx_fmt=jpeg

自从产品转到了 dotNET Core 之后,更深入的接触 Linux和 Docker ,而我每天的工作中,有一部分时间相当于在“兼职”做一些运维的事情。下面是一些在日常中常用的命令,算是个备忘吧。

环境

  • 操作系统:CentOS7

  • Docker:18.05.0-ce

  • MySQL: 8

测试环境的服务器部署很简单,一台公网服务器,后面有若干台内网服务器,程序部署在内网服务器,通过公网服务器反向代理进行访问。

640?wx_fmt=png

场景一:将外网数据库备份到内网进行排错

ssh root@221.221.221.1 #进入外网服务器
ssh root@10.10.10.1 #进入内网服务器
docker exec -it mysql容器id bash #进入mysql容器
mysqldump -uroot -pPassword -R dbname > db.sql #备份数据库
exit #退出容器
docker cp mysql容器id:/db.sql /root/  #将备份文件从容器拷贝到虚拟机的root目录
exit #从内网服务器退出到外网服务器
scp root@10.10.10.1:/root/db.sql /root/  #将备份文件从内网拷贝到外网服务器的root目录ssh root@192.168.16.110 # 进入内网服务器
scp root@221.221.221.1:/root/db.sql /root/ #将外网服务器的备份文件拷贝到内网服务器
docker cp db.sql mysql容器id:/ #将备份文件拷贝到mysql容器内
docker exec -it mysql容器id bash #进入mysql容器内
mysql -uroot -pPassword dbname < db.sql #还原数据库
exit #退出容器

场景二:CentOS 防火墙相关

systemctl status firewalld.service #查看防火墙状态
systemctl start firewalld.service #启用防火墙
systemctl stop firewalld #停用防火墙
systemctl disable firewalld #开机禁用
systemctl enable firewalld #开机启用firewall-cmd --permanent --list-port #查看已开放端口列表firewall-cmd --zone=public --add-port=80/tcp --permanent #开放80端口
firewall-cmd --zone= public --remove-port=80/tcp --permanent #关闭80端口firewall-cmd --reload #重新状态防火墙

场景三:CentOS 系统常用

ls #查看目录文件
cp app.json /root/app # 赋值文件app.jsond到app目录
cp -r  #赋值目录
vi #编辑文件
chmod 777 /root/app.json #设置文件权限
top  #查看cup 内存
df -h  #查看硬盘
du -sh *  #查看当前目录文件大小的详细列表
systemctl restart network #重启网络
rm #删除文件

场景四:CentOS 安装 vsftpd(特定用户访问特定目录)

1、安装vsftpd

yum -y install vsftpd

2、启动ftp服务

systemctl start vsftpd.service

3、禁用匿名用户访问,执行vi /etc/vsftpd/vsftpd.conf,修改配置文件

anonymous_enable=NO

4、添加用户

useradd -d /home/oec2003 oec2003 #增加用户oec2003,并指定oec2003用户的主目录为/home/oec2003passwd oec2003 #为用户oec2003设置密码,运行后输入两次相同密码

5、修改配置文件 /etc/vsftpd/vsftpd.conf

chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

/etc/vsftpd/chroot_list这个配置文件中添加用户,每个用户写在一行,则在这个文件里的用户登录ftp后,可以访问上级目录,而不在这个配置文件中的用户只能访问添加用户时指定的目录。

场景五:CentOS 服务器之间免密码登录

现在有两台服务器 10.10.10.1 和 10.10.10.2 ,现在想在 10.10.10.1 服务器上免密码登录 10.10.10.2 ,步骤如下:

1、在 10.10.10.1 上创建秘钥

ssh-keygen -t rsa -C "oec2003@qq.com"

创建完成后,在 .ssh 的隐藏目录中会有两个文件 id_rsa (私钥)、id_rsa.pub (公钥)文件

2、用 ssh-copy-id 把公钥复制到 10.10.10.2

ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.2

3、修改 10.10.10.2 的配置文件 /etc/ssh/sshd_config

AuthorizedKeysFile    .ssh/authorized_keys
PubkeyAuthentication yes #打开免密码设置

4、重启 sshd 服务

service sshd restart

场景六:使用 Nginx 代理 MySQL

MySQL 的容器部署在内网服务器,我们需要在本地能直接连接 MySQL ,这时就需要使用 Nginx 来做反向代理。

现在在 10.10.10.1 服务器上部署有 MySQL 容器,端口为 3306 ,代理的配置方式如下:

1、在外网服务器的 221.221.221.1 服务器的 root 目录创建配置文件 nginx.conf,内容如下

# 上面部分的内容就是nginx.conf文件的内容,在http节点同级添加stream节点,如下
...
stream {upstream mysql {hash $remote_addr consistent;server 10.10.10.1:3306 max_fails=3 fail_timeout=30s;}server {listen 33306;proxy_connect_timeout 30s;proxy_timeout 600s;proxy_pass mysql;}
}

2、创建代理容器

docker run -d -p 33306:33306 --name mysql  -v /root/nginx.conf:/etc/nginx/nginx.conf --restart=always  nginx:latest

现在就可以在客户端通过IP 221.221.221.1 和端口 33306 来进行数据库连接了。

场景七:空间清理

服务器运行一段时间后,空间会越来越小,可以通过下面的一些命令来辅助清理空间。

Docker

docker system df -v #可用于查询镜像(Images)、容器(Containers)和本地卷(Local Volumes)等空间使用大户的空间占用情况
docker system prune #自动清理容器

ContOS 文件

du -sh * | sort -nr #查看当前目录文件大小,有排序
du -s * | sort -nr | head
du -s * | sort -nr | tail

MySQL

show binary logs; #查看日志占用
reset master; #清理日志

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rabbitmq死信队列详解与使用

先从概念解释上搞清楚这个定义&#xff0c;死信&#xff0c;顾名思义就是无法被消费的消息&#xff0c;字面意思可以这样理解&#xff0c;一般来说&#xff0c;producer将消息投递到broker或者直接到queue里了&#xff0c;consumer从queue取出消息进行消费&#xff0c;但某些时…

使用ASP.NET Core 3.x 构建 RESTful API - 3.2 开始建立Controller和Action

Demo下面我们就来实践一下。打开之前的项目&#xff0c;并建立CompaniesController&#xff1a; 这里有6个地方比较关键&#xff0c;我们挨个看一下&#xff1a; RESTful API 或者其它Web API的Controller都应该继承于 ControllerBase 这个类&#xff08;点此查看详细的官方文档…

C++ 链表

线性表&#xff08;顺序表&#xff09;有两种存储方式&#xff1a;链式存储和顺式存储&#xff0c;顺式存储如数组&#xff0c;其内存连续分配&#xff0c;且是静态分配。链式存储&#xff0c;内存是不连续的&#xff0c;且是动态分配。前一个元素存储数据&#xff0c;后一个元…

波拉契尔数列 C++

题目&#xff1a;写一个函数&#xff0c;输入n, 求斐波那契数列的第n项。 分析&#xff1a;该题有两种实现方式递归或循环。当n比较大的时候f(n)结果也会比较大&#xff0c;故定义的时候可以采用long(int 也行)。递归会有大量的重复计算&#xff0c;而循环可以把f(n-1)和f(n-2)…

Deepin 下 使用 Rider 开发 .NET Core

国产的 Deepin 不错&#xff0c;安利一下。Deepin 用了也有一两年&#xff0c;也只是玩玩&#xff0c;没用在开发上面。后来 Win10 不太清真了&#xff0c;就想着能不能到 Deepin下撸码。要搞开发&#xff0c;首先少不了 IDE&#xff0c;VS2019 用不来&#xff0c;Vs Code 太复…

[视频演示].NET Core开发的iNeuOS物联网平台,实现从设备PLC、云平台、移动APP数据链路闭环...

此次我们团队人员对iNeuOS进行了全面升级&#xff0c;主要升级内容包括&#xff1a;&#xff08;1&#xff09; 设备容器增加设备驱动&#xff0c;包括&#xff1a;西门子&#xff08;S7-200smart、S7-300、S7-400、S7-1200、S7-1500&#xff09;、三菱&#xff08;FxSerial…

选择开源项目什么最重要?

开发人员在决定是否使用某个开源项目时考虑到的最重要事项是什么&#xff1f;代码质量&#xff1f;安全性&#xff1f;好的文档&#xff1f;上述因素都很重要&#xff0c;但根据 Tidelift 和 The New Stack 的联合调查&#xff0c;控制着开源项目的开源许可证才是最需要考量的因…

居然不知道和的区别?

前言那年刚找工作那会&#xff0c;就碰到过这么一个简单的题目“&和&&的区别” 那时知识面窄&#xff0c;大概也就知道1.都是作为逻辑与的运算符。2.&&具有短路功能&#xff0c;计算出前者false&#xff0c;就不需计算后者的true or false。后来在微信群里…

【DevOps进行时】自动化测试之单元测试

在DevOps建设中&#xff0c;主流的测试分层体系可以分为单元测试、接口测试和界面测试。Google曾提出一个经验法则&#xff1a;70%的小型测试&#xff0c;20%的中型测试&#xff0c;10%大型测试。当然&#xff0c;这个比例不是确定的&#xff0c;不同类型的项目&#xff0c;测试…

Zongsoft.Data 发布公告

很高兴我们的 ORM 数据访问框架(Zongsoft.Data)在历经两个 SaaS 产品的应用之后&#xff0c;今天正式宣布对外推广。它是一个类 GraphQL 风格的 ORM(Object/Relational Mapping) 数据访问框架。又一个轮子&#xff1f;在很长时间里&#xff0c;.NET 阵营似乎一直缺乏一个被普遍…

使用 .NET Core模板引擎创建自定义的模板和项目

本文要点.NET CLI 包含了一个模板引擎&#xff0c;它可以直接利用命令行创建新项目和项目项。这就是“dotnet new”命令。默认模板集涵盖了默认控制台和基于 ASP.NET 的应用程序以及测试项目所需的基本项目和文件类型。自定义模板可以创建更加有趣或定制化的项目和项目项&#…

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue)

时间真快&#xff0c;转眼今年又要过去了。回想今年&#xff0c;依次开源发布了Colder.Fx.Net.AdminLTE(254Star)、Colder.Fx.Core.AdminLTE(335Star)、DotNettySocket(82Star)、IdHelper(47Star)&#xff0c;这些框架及组件都是本着以实际出发&#xff0c;实事求是的态度&…

.Net开发3年,应聘大厂惨遭淘汰,如何翻身打脸面试官?

(设计师忘记了&#xff0c;这里还有个双十一福利课&#xff0c;还能1元秒杀&#xff01;)

面对金九银十铜十一你真的准备好了吗?

作者&#xff1a;回首笑人间&#xff0c;高级Java工程师一枚&#xff0c;热爱研究开源技术&#xff0c;架构师社区合伙人&#xff01;前言&#xff1a;又是一年一度的金九银十跳槽季&#xff0c;回首在经历了半个月的求职奔波后&#xff0c;终于又能安稳的静下心来敲代码了&…

深入理解二叉搜索树

什么是二叉搜索树&#xff1f; 顾名思义&#xff0c;一颗二叉搜索树是基于二叉树来组织的&#xff0c;它包括许多动态集合操作&#xff08;Search&#xff0c;MiniNum, MaxiNum, Prodecessor, Successor, Insert 和Delete等&#xff09;。二叉搜索树上的基本操作所花费的时间与…

深入理解堆(最大堆,最小堆及堆排序)

基本概念&#xff1a; 1、完全二叉树&#xff1a;若二叉树的深度为h&#xff0c;则除第h层外&#xff0c;其他层的结点全部达到最大值&#xff0c;且第h层的所有结点都集中在左子树。 2、满二叉树&#xff1a;满二叉树是一种特殊的的完全二叉树&#xff0c;所有层的结点都是最…

王炸吐血整理60个Redis面试题,全网最全了

1.Redis 是一个基于内存的高性能key-value数据库。 2.Redis相比memcached有哪些优势&#xff1a; memcached所有的值均是简单的字符串&#xff0c;redis作为其替代者&#xff0c;支持更为丰富的数据类型redis的速度比memcached快很多redis可以持久化其数据3.Redis是单线程 redi…

H.266 参考软件VTM下载和安装

1、下载安装cmake &#xff0c;下载地址https://cmake.org/。 安装后打开控制面板-系统-高级系统设置-环境变量-PATH-编辑-输入cmake.exe的路径即可。 2、如果你之前&#xff08;HEVC&#xff09;时已经下载好了SVN&#xff0c;直接在桌面点击右键SVNcheckout&#xff0c;出来…

VTM编码结构框架

VTM流程差不多就是这样子的啦&#xff0c;后续会继续补充&#xff0c;由于能力有限&#xff0c;如有错误&#xff0c;欢迎指正。在后面会进一步分析每一个函数&#xff0c;并分析流程的细节。

AspNetCore应用注意这一点,CTO会对你刮目相看

背景已经有很多文章记录了Web程序中采用异步编程的优势和.Net异步编程的用法&#xff0c; 异步编程虽然不能解决查询数据库的瓶颈&#xff0c; 但是利用线程切换&#xff0c;能最大限度的弹性利用工作线程&#xff0c; 提高了web服务的响应能力。????9012年了&#xff0c;再…