记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
MySQL的高可用方案有很多种,双主、MHA、MMM等等,这里只是写下最简单的双主这种高可用方案。一、配置MySQL互为主从1、环境准备系统IP主机名服务Centos 7.5192.168.100.2mysql1MySQL+keepalivedCentos 7.5192.168.100.3mysql2MySQL+keepalived2、开启二进制日志及中继日志#主机mysql1配置文件如下: [root@mysql1 ~]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 server_id=1 #server_id必须唯一 socket=/usr/local/mysql/mysql.sock log-error=/usr/local/mysql/data/mysqld.err log-bin=/usr/local/mysql/data/log_bin #指定二进制日志文件 relay-log=/usr/local/mysql/data/relay-bin #指定中继日志 relay-log-index=relay-bin.index auto_increment_increment=2 auto_increment_offset=1 #主机mysql2配置文件如下: [root@mysql2 ~]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 server_id=2 socket=/usr/local/mysql/mysql.sock log-error=/usr/local/mysql/data/mysqld.err log-bin=/usr/local/mysql/data...
环境linux centOS 7.4       postgresql 12.2       postgis 2.5       mysql_fdw 1.1       pgrouting 2.6.3操作步骤前面写过一篇postgresql安装和使用mysql_fdw,但是那篇用的是postgresql9.4,现在该版本已经停止维护了。所以与时俱进,更新一版postgresql12的安装方式:postgres下载大全https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/这里下载的是https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/mysql_fdw_12-2.5.3-1.rhel7.x86_64.rpm在安装过程中,遇到需要mariadb-devel依赖。但是我的centerOS7.4版本中,装了mysql5.6,一直提示mariadb-devel被已安装的mysql-community-devel取代,单独卸载mysql-community-devel也没有用。后来只能把mysql全部删除了:1)首先停用mysql:service mysqld stop2)查看mysql所有安装的包:[root@localhost~]# rpm -qa | grep mysql3)逐个卸载:[root@localhost ~]# rpm -e mysql-community-release-el6-5.noarch //这里写你自己的[root@localhost~]# rpm -e --nodeps mysql包4)检查是否卸载干...
 
0
Windows环境下安装官网下载PostgreSQL安装包,直接【下一步】安装即可,官网地址:https://www.postgresql.org/download/windows/ 官网下载对应版本的PostGIS安装包,官网地址:http://download.osgeo.org/postgis/windows/安装过程也是【下一步】,中间需要输入postgres的密码,选择创建空间数据库。安装完成后,可执行以下语句验证是否安装成功:CREATE EXTENSION postgis;CREATE EXTENSION pgrouting;CREATE EXTENSION postgis_topology;CREATE EXTENSION fuzzystrmatch;CREATE EXTENSION postgis_tiger_geocoder;CREATE EXTENSION address_standardizer;进入PostgreSQL官网,选择Downloads,(https://www.postgresql.org/download/linux【选择安装版本】-【选择操作系统】-自动生成安装步骤,安装时可安装此步骤进行/redhat/)选择对应的操作系统按照如下步骤进行安装:初始化成功后:数据库目录在:/var/lib/pgsql/10, data目录,产看数据库状态修改数据库配置文件:重新启动数据库:修改默认用户【postgres】的密码:alter user postgres password '密码'使用客户端pgAdmin或者Navicat Premium连接数据库:4.安装PostGIS创建空间扩展语句:
CentOS7/RHEL7最小化安装系统并制作openssh8.4p1的RPM安装包使用rpmbuild将tar包打成rpm包,不喜欢编译升级的,使用RPM升级就方便多了。1,安装依赖环境[root@centos7-31 ~]#  yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip -y[root@centos7-31 ~]#  mkdir -p /root/rpmbuild/{SOURCES,SPECS}[root@centos7-31 ~]#  cd /root/rpmbuild/SOURCES/2,下载相关软件。[root@centos7-31 ~]#  wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz[root@centos7-31 ~]#    tar zxvf openssh-8.4p1.tar.gz[root@centos7-31 ~]#   cd openssh-8.4p1/3,修改源码包的ssh配置文件,以免系统中安装RPM后还要再修改配置文件。[root@centos7-31 ~]#   vi sshd_configPermitRootLogin yesPasswordAuthentication yes4,将pam信息写到源码包中。[root@centos7-31 ~]#    cat /etc/pam.d/sshd > contrib/redhat/sshd.pam[root@centos7-31 ~]# &nbs...
这个项目是博主在github上偶然发现的,相比于博客之前介绍的chengssh来说,这个项目更将简洁高效(保证没收钱),对服务器批量执行操作更加方便,界面采用了 ant.design 来设计,整体工作模式大概为:第一次采用密码连接到机器,然后把相应的密钥注入机器,后续直接使用密钥验证,提高了整体连接速度和安全性。查了一下该项目,是今年年初开始开源,之前是作为该公司内部项目使用,发展前景不错。下面是一部分官方说明:关于Spug:Spug 面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。特性:批量执行: 主机命令在线批量执行 在线终端: 主机支持浏览器在线终端登录 文件管理: 主机文件在线上传下载 任务计划: 灵活的在线任务计划 发布部署: 支持自定义发布部署流程 配置中心: 支持KV、文本、json等格式的配置 监控中心: 支持站点、端口、进程、自定义等监控 报警中心: 支持短信、邮件、钉钉、微信等报警方式 优雅美观: 基于 Ant Design 的UI界面 开源免费: 前后端代码完全开源部分页面截图:安装方法:官方提供多种安装方法,譬...
本文介绍使用Firewall进行端口转发。如果安装过iptables的机器,需要先停止,然后设置开机禁用:[root@localhost ~]#servcie iptables stop --临时关闭防火墙 [root@localhost ~]#chkconfig iptables off --永久关闭防火墙特别注意:请勿使用yum remove iptables来卸载防火墙,因为iptables附带了很多依赖文件,这样卸载会导致机器SSH丢失。安装firewall防火墙yum install firewalld -y设置开机自启systemctl enable --now firewalld开启路由转发echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p开启防火墙的流量伪装功能firewall-cmd --zone=public --permanent --add-masquerade开启TCP流量转发firewall-cmd --add-forward-port=port=8080:proto=tcp:toaddr=2.2.2.2:toport=666 --permanent #将本地8080端口,转发到2.2.2.2的tcp666端口。开启UDP流量转发firewall-cmd --add-forward-port=port=8080:proto=udp:toaddr=2.2.2.2:toport=666 --permanent #将本地8080端口,转发到2.2.2.2的udp666端口。重载配置文件firewall-cmd --reload如何开放端口?开启TCP流量端口firewall-cmd --add-port=8080/tcp --per...
TeaWeb是一款集静态资源、缓存、代理、统计、日志、安全、监控于一体的可视化智能WebServer。目标是 做一个能让程序员和运维工程师喝着茶、唱着歌,就能把事情完成的一个智能化的简单易用的产品。反向代理原理: |--------------| |----------------------------| Client <-> | TeaWeb:7777 | <-> | Nginx, Apache, Tomcat, | |--------------| | Fastcgi, Static Files, ... | | |----------------------------| | | |-------------| | Web | | Proxy | | Log | | Monitor | | Statistics | | WAF | | Cache | | ... | |-------------|程序相关信息:最新版下载:http://teaos.cn/download#tunnel 相关文档:http://teaos.cn/doc/main/Summary.mdLinux快捷安装:wget http://dl.teaos.cn/tunnel/v1....
 
0

Linux Shell 函数

发表者:admin分类:Shell脚本2020-10-15 16:09:25 阅读[1011]
Shell 函数linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[ function ] funname [()] { action; [return int;] }说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255下面的例子定义了一个函数并进行调用:#!/bin/bash # author:菜鸟教程 # url:www.runoob.com demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----"输出结果:-----函数开始执行----- 这是我的第一个 shell 函数! -----函数执行完毕-----下面定义一个带有return语句的函数:#!/bin/bash # author:菜鸟教程 # url:www.runoob.com funWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum ...
我们现在芯片被美国卡脖子,所以RISC-V是大势所趋。华为鸿蒙提供的编译器(https://repo.huaweicloud.com/harmonyos/compiler/)里也有RISC-V。虽然现在硬件资源比较少,但是通过软件模拟环境,可以提早做好准备。 RISC-V GNU Toolchain 源码获取 要体验RISC-V,首先需要安装交叉编译器。然而国内的网络很差,想要在GitHub上拿到源码(https://github.com/riscv/riscv-gnu-toolchain)编译非常困难。比较庆幸的是Gitee上有镜像(https://gitee.com/mirrors/riscv-gnu-toolchain),每天同步一次。 获取源码: git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git cd riscv-gnu-toolchain git submodule update --init --recursive 然而在我通过Gitee拿代码的时候,子模块下载速度依然非常慢,特别是QEMU里的一个子模块。于是我把QEMU从同步中删除了,因为不影响编译: git rm --cached QEMU git submodule update --init --recursive 考虑到下载速度,我把拿到的所有代码放到Gitee上(https://gitee.com/yushulx/riscv-gnu-toolchain)。这个代码库不做更新,只提供给网络差,又需要体验RISC-V的人。需要拿最新代码就去GitHub或者Gitee镜像。 编译安装 接下来就...
QEMU模拟RISCV环境运行Fedora虚拟机并配置NAT与Bridge网络在Hyper-v中安装了Centos8,然后编译安装qemu,运行riscv_64位环境,安装fedora-mininal_riscv虚拟机,然后添加网卡,并建立桥接bridge网络,使用NAT将虚拟机网络打通。Centos8系统使用eth0网卡,IP: 192.168.137.30/24, GATEWAY: 192.168.137.1Centos8系统br0网卡 IP: 192.168.1.1/24  qemu中的fedora_riscv镜像系统使用IP: 192.168.1.200/24, GATEWAY:192.168.1.11,在centos8,安装qemu并下载相关riscv环境镜像,具体看之前的文章。2),添加 名称与设备名为br1 的网桥。[root@k8s-30 ~]# nmcli conn add type bridge con-name br0 ifname br0连接 "br1" (c6f8f0fd-f631-42fa-911d-0e27a34a0da1) 已成功添加。[root@k8s-30 ~]#[root@k8s-30 ~]# nmcli connection showNAME  UUID                                  TYPE      DEVICEeth0  5fb06bd0-0bb0-7ffb-45...
    总共265页,当前第45页 | 页数:
  1. 35
  2. 36
  3. 37
  4. 38
  5. 39
  6. 40
  7. 41
  8. 42
  9. 43
  10. 44
  11. 45
  12. 46
  13. 47
  14. 48
  15. 49
  16. 50
  17. 51
  18. 52
  19. 53
  20. 54
  21. 55