http://wiki.bash-hackers.org/syntax/expansion/brace
https://www.shell-tips.com/2006/11/04/using-bash-wildcards/
Author: jpuyy
-
bash 中括号 大括号
-
8.245升级subversion
1. 停止apache /etc/init.d/httpd stop 备份/etc/httpd/modules下的mod_dav_svn.so和mod_authz_svn.so到/data/svn_bak/repos/updatesvn
cp mod_dav_svn.so /data/svn_bak/repos/updatesvn/
cp mod_authz_svn.so /data/svn_bak/repos/updatesvn/
backup mysql usvn database
2. 升级版本库相关作业
2.1 升级subversion1.8.3 a. 备份原操作系统内subversion相关执行脚本。 替换路径注意一下目录:/usr/bin /usr/loal/bin svn svnadmin.bak svndumpfilter svnlook.bak svnsync svnadmin svn_bak svnlook svnserve svnversion b. 编译apache相关模块, 下载subversion1.8.3,编译,安装 备份/etc/httpd/modules下的mod_dav_svn.so和mod_authz_svn.so到/data/svn_bak/repos/updatesvn c. 升级系统svn,svnadmin等subversion相关执行文件版本。 替换路径注意一下目录:/usr/bin and /usr/local/bin
2.2 对老版本svn库进行升级。 a. 将svn版本库的名称记录在/root/svnrepo中 b. 使用dump方式备份svn数据到/data/svn_bak/repos/updatesvn cd /var/www/html/usvn/files/ mv svn svn1 cd svn1 for i in `cat /root/svnrepo`; do svnadmin dump $i > /data/svn_bak/repos/updatedump/$i;done c. 将pre-commit重新建立软链
3. 启动apache /etc/init.d/httpd start 测试升级后svn版本是否能正常使用。[root@office files]# du -sh *24K authz4.0K authz.bak4.0K htpasswd5.5G svn6.5G svn1
-
python正则表达式的使用
http://stackoverflow.com/questions/1450897/python-removing-characters-except-digits-from-string
NginxMySQL1、竞猜下注接口
http://games.mobileapi.hupu.com/1/5.1.0/quiz/bet?client=xxx
2、竞猜加注接口
http://games.mobileapi.hupu.com/1/5.1.0/quiz/increase?client=xxx^/(\d+)/(\d+)\.(\d+)\.(\d+)/quiz/(.+) -
cloudstack kvm
xenserver vhd格式模板制作1.虚拟机用cobbler装系统,cobbler中设置磁盘类型为xvda,安装xenserver tools,http://support.citrix.com/proddocs/topic/xencenter-61/xs-xc-vms-installtools.html2.将虚拟机设置成模板,导出,一般为xva模式3.在xenserver中添加一个SR,即8.34的192.168.8.34:/templates4.导入之前导出xva模板,导入的位置为nfs,导入完成后,在everything中可以得到一个http的链接,格式为vhd。5.在cloudstack中添加xenserver模板,系统选择Other PV(64bit)。kvm qcow2格式模板制作1.找到一台qemu-kvm的宿主机,创建一个qcow2磁盘qemu-img create -f qcow2 -o preallocation=metadata /data/kvm003.qcow2 20G
2.创建一个到cobbler的桥cloudbr1
3.使用cobbler安装系统
virt-install –connect=qemu:///system –network=bridge:cloudbr1 –initrd-inject=/data/201HD-kvm-test –extra-args=”ks=file:/201HD-kvm-test console=tty0 console=ttyS0,115200″ –name=kvm003 –disk path=/data/kvm003.qcow2 –ram 2048 –vcpus=2 –check-cpu –hvm –location=http://192.168.0.42/cblr/ks_mirror/CentOS-6.5-x86_64/
4.装好系统后,检查网卡设置,将mac等信息去掉,测试虚拟机切换回8段的桥后是否正常.关机
5.用file可以查看kvm003.qcow2是raw格式,转换为qcow2格式,
qemu-img convert -c -O qcow2 kvm003.qcow2 convert.kvm003.qcow2
检测是否有问题
qemu-img check convert.kvm003.qcow2
6.挂载nfs,上传到192.168.8.34:/templates
7.在cloudstack中添加kvm的模板
-
李嘉诚
12岁就开始做学徒,还不到15岁就挑起了一家人的生活担子,再没有受到过正规的教育。当时自己非常清楚,只有我努力工作和求取知识,才是我唯一出路。我有一点钱我都去买书,记在脑子里才去换另外一本。但到我今天来讲,每一个晚上在我睡觉之前,我还是一定的看书。知识并不决定你一生有财富增加,但是你的机会就更加多了。你创造机会才是最好的途径。李嘉诚如此放弃香港的优良资产套现,不由得想起他曾说过的一段“商业圣经”:一个新产业,当5%的人知道时你赶快做,做早了就是先机;当50%的人知道时,你做个消费者就行了;当超过50%的人都知道时,你连看都不要看了。这是亚洲首富的经验之谈。素有“超人”之称的他,数十年商海遨游鲜有败绩,显然,李嘉诚意识到房产的风险正步步逼近,提前抛售套现,占尽先机风流。i -
正常情况下TCP/IP协议中SYN握手大致上如此:
正常情况下TCP/IP协议中SYN握手大致上如此:
- A(发起者)发送一个SYN给B(接收者)
- B回复SYN-ACK给A
- A回复ACK给B
- 连接成功!
这个过程的缺陷是,如果A是有恶意的来源,始终不停的发送SYN给B,那么B就会不停的建立起空连接(未完成的连接)等待A的ACK响应,只要A不回应,B的空连接就会不断的消耗资源,直至无法响应。
这个缺陷事实上不是操作系统级别、防火墙级别的缺陷,而是来自于TCP/IP协议本身的设计缺陷。
看了一下NetScreen的Screen安全策略中有针对它设计的SYN COOKIE设置。
个人理解下来这是一个很讨巧的方法,但是略显笨拙:
- NS之外的A发送了一个SYN请求给内网的B
- NS截获了这个请求,没有直接将数据包转发给B,而是自己生成了一个假冒的SYN_ACK包回复给A
- A回复了ACK,成功完成握手
- NS将之前的SYN请求发送给B
- B发送SYN-ACK
- NS回复ACK
- NS搭建A到B的正式通道
这种方式类似于中间人的方式实现连接,一定程度上是可以保护B不受攻击的侵扰。但事实上如果这时的A有足够的资源,完全可以让NetScreen建立的空连接达到无法响应的程度,这样实现的效果反而远远大于直接对B发起的攻击。
对于类似的方法,Netscreen没有响应的设置,相应的文档上也没有给出解释。个人认为,NS应该是有一种判断机制,比如说时间或者频率。正常情况下是允许ACK回复延时的,但延时到了一定程度,或者这个来源不停的建立这种通信达到一个阀值,NS将会启动处理机制将A拉黑,同时关闭所有与A有关的连接。
总的来说,SYN-ACK-ACK攻击属于不对等攻击,与DDOS,泪滴等攻击一样,发起攻击的成本要远远低于预防攻击的成本,这是TCP/IP的缺陷,只要不放弃TCP/IP,这样的攻击就会一直存在。而且防止前提必须是“已经受到了攻击”之后,即只能医治,无法预防。