记录关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题,
apache tomcat慢速HTTP拒绝服务攻击安全问题解决办法问题说明:HTTP协议的设计要求服务器在处理之前完全接收到请求。如果HTTP请求未完成,或者传输速率非常低,则服务器将保持其资源占用等待剩余的数据。如果服务器占用的资源太多,则会造成拒绝服务。漏洞危害:一台机器可在对自身带宽、无关服务和端口影响较小的情况下大量占用另一台机器的服务器资源,导致受害服务器拒绝服务。解决方案:1.修改配置文件server.xml,设置connectiontimeout值,默认为20000ms,修改为8000ms;此方案修改之前,请将tomcat升级到最新版本2.如果使用了jquery,设置ajax的请求超时时间。设置AJAX的全局timeout时间(默认为30000ms) $.ajaxSetup({timeout:8000});使用jQuery的$.ajaxSetup方法可以设置AJAX请求的默认参数选项,当程序中需要发起多个AJAX请求时,则不用再为每一个请求配置请求的参数。需要注意的是用$.ajaxSetup函数所设置的默认值不会应用到load()命令上。对于实用工具函数,如$.get()和$.post(),其HTTP方法不会因为使用这些默认值而被覆盖。设置GET的默认类型不会导致$.post()使用HTTP的GET方法。 3.如果使用了数据库连接池,则设置适当的超时时间。例如: < Con...
Windows下Oracle因主机名或IP变动,导致EM无法启动的问题。错误信息:WIN的事件查看器:An error occured while trying to initialize the service.手工启动:emctl start dbconsoleEnvironment variable ORACLE_SID not defined. Please define it.当执行set OARCLE_SID=orcl,继续报错Unable to determine local host from URL REPOSITORY_URL= http://localhost:%EM_UPLOAD_PORT%/em/upload/注意以下地方:1: 主机名:C:/WINDOWS/system32/drivers/etc/hosts添加IP与主机名信息。Windows系统中打开 数据库配置助手,配置数据库选件,根据提示配置账号与密码,会重新生成dbcosole相关数据。完成后,最好重启下系统,看下自己的监听配置。2: EM链接JDBC:$ORACLE_HOME/oc4j/j2eeOC4J_DBConsole_fox-kook_kookOC4J_DBConsole_localhost_kook (从fox-kook主机名复制这个目录为localhost)3: 监听修改为主机名的连接方式,不要以IP方式。$ORACLE_HOME/NETWORK/ADMIN/listener.oraSID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (GLOBAL_DBNAME = kook.glfsoft.com)     ...
oracle 12C(12.1.0.2) 自动化静默安装脚本脚本使用安装前配置点击打开链接需要使用root用户执行(尽量安装纯净的OS环境) 下载脚本:https://github.com/domdanrtsey/Oracle12c_autoinstall.git点击打开链接下载-安装脚本安装前请将Oracle 12C安装包(linuxamd64_12102_database_1of2.zip、 linuxamd64_12102_database_2of2.zip )放置在 /opt/ 目录下(脚本提示是/opt,实际可随意存放)系统需要具备512MB的swap交换分区OS可连通互联网(如果不通外网,可以使用如下方法,将依赖包下载下来,再上传到目标服务器安装,以解决依赖问题)安装插件 # yum -y install yum-plugin-downloadonly 创建目录 # mkdir /root/mypackages/ 下载依赖 # yum install --downloadonly --downloaddir=/root/mypackages/ yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 \ glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 \ libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 \ libstdc++-devel libstdc++...
 
0

Shell 基本运算符

发表者:admin分类:Shell编程2020-06-01 15:21:42 阅读[411]
Shell 基本运算符Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):实例#!/bin/bashval=`expr 2 + 2`echo "两数之和为 : $val"运行实例 »执行脚本,输出结果如下所示:两数之和为 : 4两点注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。算术运算符下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:运算符说明举例+加法`expr $a + $b` 结果为 30。-减法`expr $a - $b` 结果为 -10。*乘法`expr $a \* $b` 结果为  200。/除法`expr $b / $a` 结果为 2。%取余`expr $b % $a` 结果为 0。=赋值a=$b 将把变量 b 的值赋给 a。==相等。用于比较两个数字,相同则返回 true。[ $a == ...
轻量级运维利器pssh、pdsh和mussh的使用以及区别 区别:pssh有5个程序 pssh:执行命令 pscp:上传文件 pslurp:下载文件到本机 prsync:将本地文件同步到远程主机  pnuke杀死远程主机的某个进程(如httpd) pdsh有两个方法:pdsh:执行命令,类似pssh,但增加了命令交互模式以及正则表达式,更灵活。pdcp:上传文件到远程主机,与pscp类似,但管理主机和远程主机都要安装pdsh包。 mussh:mussh:批量执行远程管理命令,主要是比pssh,pdsh增加了一个可执行脚本的功能。(shell,Perl,Python脚本)  指定的参数作用跟pssh 有很大区别。  原理:基于ssh秘钥认证建立信任,在本管理主机上运行pssh、pdsh和mussh工具命令将shell命令发送至管理远程主机(单主机或主机群),相当于登陆到远程主机上执行了同样的shell命令。由于条件限制,只有两台虚拟机,一台用于模拟管理,一台用于模拟远程主机。管理主机IP:192.168.1.106   (master1)远程主机IP:192.168.1.108   (master2) 一、在本地主机上创建RSA密钥和公钥。以本地普通用户soul用户登陆为例。本管理主机以及所有远程主机的普通账户密码均设置为s...
simple-log博客程序转换成zblog后,关于mysql数据库中的文章内容HTML转义字符的处理方法  先是将博客数据中的 blog表中的title,content,blog_id,cat_id,user_id,add_tim,views等能用的数据,可以先出来,作个csv或是xls表格,再添加相应的字段与数据到表格中,最后导入到zblog中的zbp_post表中。 这里访问博客文章,发现全是HTML代码,因为文章内容存到数据库时作了字符转义,解决方法只能采取1,修改php程序,显示文章时作字符转义。2,在表中将log_content字段中的内容替换掉。 我这里只会采用第二种了。Mysql代码替换HTML转义字符,具体如下: UPDATE zbp_post pSET p.log_Content = REPLACE (log_Content, '&lt;', '<'), p.log_Content = REPLACE (log_Content, '&gt;', '>'), p.log_Content = REPLACE (log_Content, '&amp;', '&'), p.log_Content = REPLACE (log_Content, '&quot;', '"')WHEREp.log_ID <> '2181'AND (p.log_Content LIKE '%&lt;%'OR p.log_Content LIKE '%&gt;%'OR p.log_Content LIKE '%&amp;%'OR p.log_Content LIKE '%&quot;%') 运行命令后,发现除...
自己的理解:handlers用来用来解决触发时间的,也就是当一个tasks真正的执行后,结果发生了变化。会去触发另一个task。handlers和notify结合使用触发条件:·Handlers(触发器)  是task列表,这些task与前述的task并没有本质上的不同,用于当关注的资源发生变化时,才会采取一定的操作。·Notify(通知)  此action可用于在每个play的最后被触发,这样可以避免多次有改变发生时每次都执行指定的操作,仅在所有的变化发生完成最后一次性地执行指定操作。在notify中列出的操作称为handler,也即notify中调用handler中定义的操作。现实中的应用场景:        当我们修改了某些程序的配置文件以后,有可能需要重启应用程序,以便能够使新的配置生效,那么,物品,么如何使用playbook?例子:加入我们要修改server的端口从80改成8080,并且在修改配置之后重启nginx。剧本如下:那么想想如果我们不加上handlers的效果,不加handlers,修改配置的task和重启服务的task并没有逻辑性,依赖性。第一次执行这个playbook不会有什么问题,当第二次执行时,会发现根据幂等性特性修改配置文件的task并没有执行,而重启服务的task还是会执行,显然...
1,var_prompt 提示用户输入信息,然后将用户输入的信息存入到指定的变量中,--- - name: 92cto hosts add New group and user.  hosts: 92cto.com  user: root  gather_facts: false  vars_prompt:   - name: "groups_name"     prompt: "input New groups_name"   - name: "user_name"     prompt: "input New USER_NAME"     private: no   - name: "user_passwd"     prompt: "Enter Password"     encrypt: "sha512_crypt"     confirm: yes  tasks:   - name: create New group.     group:  &...
    总共275页,当前第10页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20