记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
这个项目是博主在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 阅读[1324]
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...
Centos8/RHEL8系统使用nmcli与nmtui配置bridge桥接网卡 在系统中编译安装了qemu5.4-RISCV最新版本,但是模拟机网卡不能访问外网, 在eth1网卡上面配置一个桥接网卡,这样就比较方面了。 1,查看网卡设备信息。 [root@k8s-30 ~]# nmcli device showGENERAL.DEVICE:                         eth0GENERAL.TYPE:                           ethernetGENERAL.HWADDR:                         00:15:5D:5D:94:01GENERAL.MTU:                            1500GENERAL.STATE:      &n...
  ORACLE 中文与英文日间区别,插入时间会报错,显示'无效的月份' 表结构信息如下: CREATE TABLE STUDENT.COURSE (   COURSE_NO      NUMBER(8) CONSTRAINT CRSE_COURSE_NO_NNULL NOT NULL,   DESCRIPTION    VARCHAR2(50 BYTE) CONSTRAINT CRSE_DESCRIPTION_NNULL NOT NULL,   COST           NUMBER(9,2),   PREREQUISITE   NUMBER(8),   CREATED_BY     VARCHAR2(30 BYTE) CONSTRAINT CRSE_CREATED_BY_NNULL NOT NULL,   CREATED_DATE   DATE CONSTRAINT CRSE_CREATED_DATE_NNULL NOT NULL,   MODIFIED_BY    VARCHAR2(30 BYTE) CONSTRAINT CRSE_MODIFIED_BY_NNULL NOT NULL,   MODIFIED_DATE  DATE CONSTRAINT CRSE_MODIFIED_DATE_NNULL NOT NULL ) 在toad for oracle工具中执行插入数据如下: ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR HH24:MI:SS'; Insert into STUDENT.COURSE    (COURSE_NO, DESCRIPTION, COST, PR...
ORACLE数据字典是ORACLE数据库的重要组成部分,它提供了诸如数据库结构、数据库对象空间分配和数据库用户等等有关数据库的信息。数据字典表(Data Dictionary Table) 用以存储表、索引、约束及其他数据结构信息。这些对象通常以$结尾(如tab$、obj$、ts$)在创建数据库的时候通过运行sql.bsq脚本来创建,这个文件包含了每个数据字典表的定义及注释说明。该文件在$ORCLE_HOME/rdbms/admin目录下,通过这些内容可以深入了解数据库的对象信息。如之前我们看到的数据库启动时创建的bootstrap$表SQLcreate table bootstrap$( line# number not null, /* statement order id */ obj# number not null, /* object number */ sql_text varchar2("M_VCSZ") not null) /* statement */ storage (initial 50K) /* to avoid space management during IOR I */// /* "//" required for bootstrap */又比如undo表SQLcreate table undo$ /* undo segment table */( us# ...
oracle 数据字典系统表 OBJ$ 字段type#编号代表意思SQL> set long 99999SQL> select TEXT from dba_views where view_name =upper('dba_objects');TEXT--------------------------------------------------------------------------------select u.name, o.name, o.subname, o.obj#, o.dataobj#,       decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',                      4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',                      7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',                      11, 'PACKAGE BODY', 12, 'TRIGGER',                      13, 'TYPE', 14, 'TYPE BODY',                      19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',          ...
    总共269页,当前第49页 | 页数:
  1. 39
  2. 40
  3. 41
  4. 42
  5. 43
  6. 44
  7. 45
  8. 46
  9. 47
  10. 48
  11. 49
  12. 50
  13. 51
  14. 52
  15. 53
  16. 54
  17. 55
  18. 56
  19. 57
  20. 58
  21. 59