首页
留言板
关于本站
Search
1
实现网站页面秒开-预加载JS脚本instant.page
56,553 阅读
2
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
55,632 阅读
3
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
39,416 阅读
4
如何做到网页性能的极致优化?
29,687 阅读
5
回村无网络之-《无线网桥使用记》
29,589 阅读
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
登录
Search
标签搜索
路由交换
运维
linux
ROS
mikrotik
华为
软路由
WordPress
ospf
路由
网站
centos
php
ARP
交换
nssa
typecho
广播风暴
Nginx
dns
Ledo
累计撰写
61
篇文章
累计收到
1,024
条评论
首页
栏目
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
页面
留言板
关于本站
搜索到
8
篇与
的结果
2019-06-25
一些Linux的基础练习题
1,显示当前时间,格式为:2019-06-18 10:20:30 答案:date “+%F,%T” 或者 date “+%F %H:%M:%S” 2,显示前天是星期几? 答案:date -d “-2 day” +%A 知识点:一 ,date +%s 是把当前时间转化为秒数 二, date -d @”1523604170″ 把秒数转化回来 3,今天18:30自动关机,并提示用户。 答案:hutdown -h 18:30 “dao dian guan ji,18:30” 如果想取消此操作输入: shutdown -c 4,在本机字符终端登录时,除显示原有信息外,在显示当前登录终端号,主机名和当前时间。 答案:vim /etc/profile.d/kaiji.sh 进去后输入:#******************************************************************** echo your hostname is hostname who am i 5,显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录。 答案:ls /var/l*[0-9]*[[:lower:]] 6,显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录。 答案:ls /etc/[0-9]*[^0-9] 7,显示/etc/目录下以非字母开头,后面跟了一个字母及其他任意长度任意字符的文件或目录。 答案:ls /etc/[^[:alpha:]][a-zA-Z]* 8,显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其他为任意字符的文件或目录。 答案:ls /etc/rc[0-6]* 9,显示/etc目录下,所有以.d结尾的文件或目录。 答案:ls /etc/*.d 10,显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录。 答案:ls /etc/[m,n,r,p]*.conf 11,只显示/root下的隐藏文件和目录。 只显示/etc下的非隐藏目录 答案:ls -d /root/.* ls /etc/[^.]*/ -d 12,定义别名命令baketc,每天将/etc/目录下的所有文件,备份到/app独立的子目录下,并要求子目录格式为backupYYYY-mm-dd备份过程可见。 答案:alias baketc=”cp -av /etc /data/backupdate +%F” 13,创建/app/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限。 答案:mkdir -p /app/rootdir cp -a /root /app/rootdir/ 14,如何创建/testdir/dir1/x,/testdir/dir/y,/testdir/dir/x/a,/testdir/dir/x/b,/testdir/dir/y/a,/testdir/dir/y/b. 答案:mkdir -p /testdir/dir1/{x,y}/{a,b} 15,如何创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b. 答案:mkdir -p /testdir/dir2/{x/{a,b},y} 16,如何创建/testdir/dir3,/testdir/dir4,/testdir/dir5,/testdir/dir5/dir6,/testdir/dir5/dir7. 答案:mkdir -p /testdir/{dir3,dir4,dir5/{dir6,dir7}} 17,将/etc/issue文件中的内容转化为大写后保存至/tmp/issue.out文件中。 答案:cat /etc/issue | tr “[a-z]” “[A-Z]” > /tmp/issue.out 18,将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中。 答案:who | tr “[a-z]” “[A-Z]” >/tmp/who.out 19,一个linux用户给root发邮件,要求邮件标题为” help”,邮件正文如下:Heello,i am 用户名,The system version is here ,please help me to check it,thanks! 操作系统版本信息 答案:mail -s “help” root <<123 >Hello,I am $USER >The system version is here,please help me to check it,thanks! >cat /etc/centos-release >123 20,将/root/下文件列表,显示成一行,并文件名之间用空格隔开。 答案:ls /root | tr “\n” ” ” 21,计算1+2+3+..+99+100的总和。 答案:echo {1..100}|tr ” ” “+”|bc 22,删除Windows文本文件中的^M字符 答案:tr -d “\15” win.txt 23,处理字符串 “xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4” ,只保留其中的数字和空格。 答案:echo “xt.,l 1 jr#hostnamemn 2 c*/fe 3 uz 4” |tr -dc “[:digit:][:space:]” 24,将PATH变量每个目录显示在独立的一行。 答案:echo $PATH |tr “:” “\n” 25,将指定文件中0-9分别代替成a-j . 答案:先创建文件touch f1 给f1 vim 输入0-9 cat f1 | tr “[0-9]” “[a-j]” 26,将文件/etc/centos-release中每个单词(由字母组成)显示在独立的一行,并无空行。 答案:cat /etc/centos-release |tr -c “[:alpha:]” ” ” |tr -s ” ” “\n” 27,创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为”Gentoo Distribution”. 答案:useradd -G bin,root -s /bin/csh -c “Gentoo Distribution” gentoo 28,创建下面的用户,组和组成员关系 名字为webs的组 用户nginx使用webs作为附加组 用户varnish,也使用webs作为附加组 用户mysql,不可交互登录系统,且不是webs的成员,nbinx,varnish,mysql密码都是magedu 答案: groupadd webs useradd -G webs nginx useradd -G webs varnish useradd -s /sbin/nologin masql echo magedu |passwd –stdin nginx; echo magedu |passwd –stdin varnish; echo magedu |passwd –stdin mysql; 29,当用户docker对/testdir 目录无执行权限时,意味着无法做哪些操作? 答案: 不能cd进去,不能查看文件详细属性,也不能去访问目录里的文件内容(即使有读权限)。 30,当用户mongodb对/testdir 目录无读权限时,意味着无法做哪些操作? 答案:不能对目录下的文件进行访问。 31, 当用户redis 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 答案:不能,因为对目录没有权限,所以不能。文件能不能删,不由文件决定,而由目录决定。 32,当用户zabbix对/testdir 目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除? 答案:可以修改和删除 33,复制/etc/fstab 文件到/var/tmp 下,设置文件所有者为tomcat 读写权限,所属组为apps组有读写权限,其他人无权限。 答案:(一)cp -a /etc/fstab /var/tmp (二) useradd tomcat (三) groupadd apps (四) chown tomcat /var/tmp (五) chgrp apps /var/tmp (六) chmod 660 /var/tmp 34,误删除了用户git的家目录,请重建并恢复该用户家目录及相应的权限属性。 答案: rm -rf /home/git ; mkdir /home/git; cp -a /etc/skel/.[^.]* /home/git; chown -R git:git /home/git; 35,在/testdir/dir 里创建的新文件自动属于webs组,组apps的成员如:tomcat能对这些新文件有读写权限,组dbs的成员如:mysql只能对新文件有读权限,其他用户(不属于webs,apps,dbs)不能访问文件夹。 答案: mkdir -p /testdir/dir chgrp webs /testdir/dir chmod g=s /testdir/dir setfacl -m g:apps:rw /testdir/dir setfacl -m g:dbs:r /testdir/dir chmod o= /testdir/dir 36,备份/testdir/dir 里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限。 答案: getfacl -R /testdir/dir > /root/acl.txt setfacl -b /testdir/dir setfacl -R –set-file=acl.txt /testdir/dir 37, 找出ifconfig “网卡名” 命令结果中本机的IPv4地址。 答案:(方法一)ifconfig ens33 | grep netmask | tr -s ” ” “:” |cut -d: -f3 (方法二)ifconfig ens33 |egrep -o \<“(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])”\> (方法三)ifconfig ens33 | sed -n “2p” | sed -r s’@(.*inet)(.*)( netmask.*)@\2@’ 38,查出分区空间使用率的最大百分比值。 答案:(方法一)df | grep ^/dev | tr -s ” ” “:” | cut -d: -f5 |cut -d% -f1 | sort -nr | head -n1 (方法二) df | grep -o “[0-9]\{1,3\}%” |grep -o “[0-9]\+” |sort -nr |head -n1 39,查出用户UID最大值得用户名,UID及shell类型。 答案:cat /etc/passwd |sort -nr -t: -k3 |head -n1 |cut -d: -f1,3,7 40,查出/tmp的权限,以数字方式显示 答案:stat /tmp |head -n4|tail -n1|cut -d/ -f1|cut -d'(‘ -f2 41, 统计当前连接本机的每个远程主机IP的连接数,并从大到小排序。 答案: 先从桌面获取rz 获取文件,再进行处理。 cat access_log |egrep -o “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>”|sort|uniq -dc|sort -nr 42,显示/proc/meminfo 文件中以大小s开头的行(要求:使用两种方法) 答案:(方法一)cat /proc/meminfo |egrep -oi ^s.* (方法二)cat /proc/meminfo |egrep ^[Ss].* 43,显示/etc/passwd文件中不以/bin/bash结尾的行。 答案:cat /etc/passwd |egrep -v /bin/bash$ 44,显示用户rpc默认的shell程序。 答案:(方法一)cat /etc/passwd |egrep rpc|cut -d: -f1,7 (方法二)cat /etc/passwd |egrep rpc|sed -r ‘s/(.*:)([^:]+:?$)/\2/’ 45,找出/etc/passwd 中的两位或三位数 答案:cat /etc/passwd | egrep -o “[0-9]{2,3}” 46,显示Centos7的/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面有非空白字符的行。 答案:cat /etc/grub2.cfg |egrep ^[[:space:]][^[:space:]].*$ 47,找出”netstat -tan” 命令结果中以LISTEN后跟任意多个空白字符结尾的行。 答案:netstat -tan |egrep .*LISTEN[[:space:]]+ 48, 显示Centos7上所有系统用户的用户名和UID。 答案:cat /etc/passwd |egrep .*/sbin/nologin$ |cut -d: -f1,3 49,添加用户bash,testbash,basher,sh,nologin(其shell为/sbin/nologin),找出/etc/passwd用户名和shell同名的行。 答案:cat /etc/passwd | egrep “^(.*)(:.*)\1$” 50,利用df和grep,去出磁盘各分区利用率,并从大到小排序。 答案:df |grep ^/dev |tr -s ” ” “:”|cut -d: -f5 |cut -d% -f1 |sort -nr|head -n1 51,显示三个用户root,mage,wang的UID和默认shell. 答案:cat /etc/passwd |egrep ^”(root|mage|wang)” |cut -d: -f1,3,7 52,找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行。 答案:cat /etc/rc.d/init.d/functions | egrep “^[a-zA-Z_]+ .*” 53,使用egrep取出/etc/rc.d/init.d/functions中其基名。 答案:echo /etc/rc.d/init.d/functions |egrep -o “[^/]*/?$” 54,使用egrep取出上面 路径的目录名。 答案:(方法一)echo /etc/rc.d/init.d/functions |egrep -o “/.*/” (方法二)echo /etc/rc.d/init.d/functions |egrep -o “(/).*\1” 55,统计last命令中以root登录的每个主机IP地址登录次数。 答案: last |egrep root |egrep “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>”|tr -s ” ” “:”|sort -t: -k3|cut -d: -f3|uniq -dc 56,利用扩展正则表达式分别表示0-9,10-99,100-199,200-249,250-255. 答案: [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] 57,显示ifconfig命令结果中所有IPV4地址。 答案: ifconfig | egrep -o “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>” 58,将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的放在最前面。 答案: echo “welcometomagedulinux” |grep -o “.”|sort|uniq -c|sort -nr 59,复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符。 答案: cp /etc/profile /tmp/ vim /tmp/profile 命令模式下按“:”进入扩展模式输入 %s/^[[:space:]]*//g 60, 复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#号。 答案: cp /etc/rc.d/init.d/functions /tmp vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s/^[[:space:]] */#&/ 或者 %s/[[:space:]]\+.∗ /#\1/g 61, 在VIM中设置tab缩进为4个字符。 答案: vim /etc/vimrc 在文件最后添加: set ts=4 set expandtab set autoindent :wq 62,复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log. 答案: cp /etc/rc.d/init.d/functions /tmp vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s@\/etc\/sysconfig\/init@\/var\/log@ 63, 删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号。 答案: vim /tmp/functions 命令模式下按“:”进入扩展模式输入 %s@^#”“\+.∗ @\1@ 64, 编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPV4,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 答案: vim /root/bin/systeminfo.sh #******************************************************************** echo hostname echo ifconfig ens33 | egrep -o "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] )\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"|head -n1 echo cat /etc/centos-release echo uname -r echo lscpu |grep "^Model name.*" |cut -d: -f2|tr -s " " echo cat /proc/meminfo |head -n1 echo lsblk |grep '^sda'|tr -s " " "%"|cut -d% -f4 :wq 65, 编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYY-mm-dd中。 vim /root/bin/backup.sh cp -a /etc /root/etcdate +%F :wq 66,编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值。 答案: e=df|egrep ^/dev |tr -s " " ":"|cut -d: -f5|cut -d% -f1|sort -nr|head -n1 echo $e :wq 67, 编写脚本/root/bin/links.sh ,显示正连接本主机的每个远程主机的IPV4地址和连接数,并按连接数从大到小排序。 答案: vim /root/bin/linsk.sh a=cat access_log |egrep -o "\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"|sort|uniq -c|sort -nr echo $a 68, 编写脚本/root/bin/sumid.sh ,计算/etc/passwd 文件中的第10个用户和第20用户的ID之和。 答案: vim /root/bin/sumid.sh a=cat /etc/passwd | head -n10 |tail -n1|cut -d: -f3 b=cat /etc/passwd | head -n20 |tail -n1|cut -d: -f3 let c=a+b 或 d=$[ a+b ] echo $d 69, 编写脚本/root/bin/sumspace.sh ,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和。 答案: vim /root/bin/sumspace.sh a=cat f1 |egrep ^[[:space:]]*$ |wc -l b=cat f2 |egrep ^[[:space:]]*$ |wc -l let c=a+b 70, 编写脚本/root/bin/sumfile.sh ,统计/etc ,/var,/usr 目录中共有多少个一级子目录和文件。 答案:vim /root/bin/sumfile.sh a=ls /etc/ |wc -l b=ls /var/ |wc -l c=ls /usr/ |wc -l let d=a+b+c 71, 编写脚本/root/bin/argsnum.sh ,接受一个文件路径作为参数;如果参数个数小于1,则提示用户 “至少应该给一个参数”,并立即退出;如果参数个数不少于1,则显示第一个参数所指向的文件中的空白行数。 答案: vim /root/bin/argsnum.sh [ $# -lt 1] && echo “At least one parameter should be given” && exit [ $# -ge 1] && echo egrep "^[[:space:]]*$" $1|wc -l 73, 编写脚本/root/bin/hostping.sh ,接受一个主机的IPV4地址做为参数,测试是否可连通。如果能ping通,则提示用户 “该IP地址可以访问” ;如果不可ping通,则提示用户 “该IP地址不可访问”。 答案: vim /root/bin/hostping.sh [[ $1 =~ “\<(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>” ]] || echo { “IP error”;exit; } ping $1 && echo “This address can be accessed”|| echo “This address cannot be accessed” 74, 编写脚本/root/bin/checkdisk.sh , 检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满。 答案: vim /root/bin/checkdisk.sh a=df |egrep ^/dev |tr -s " " ":" |cut -d: -f5 |cut -d% -f1|sort -nr|head -n1 [[ $a -ge 80 ]] && echo “zhao huo la ” || echo { “yi qie zheng chang”;exit; } 75, 编写脚本/bin/per.sh ,判断当前用户对指定参数文件,是否不可读并且不可写。 答案: [ -not -r $1 -a -not -w $1 ] && echo “bu ke du ” [ −r$1−o−w$1 ] || echo “ke du ” 76,编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件。 答案: vim /root/bin/excute.sh [[ $1 =~ .*sh$ ]] && chmod +x $1 || echo "bu shi jiao ben wen jian "
2019年06月25日
26,155 阅读
28 评论
0 点赞
2019-01-25
华为S6700交换机CPU占用过高
问题描述:两台 S6700 均全局使能 RSTP,并配置 OSPF 和 VRRP。故障发生时,主设备上出现 OSPF、 VRRP 协议震荡。两台交换机上均出现 CPU 高的日志信息,同时网管上监控 CPU 占用率多次超过 90%,同时还有大量的 ARP 报文超过 CPCAR 后丢弃的日志记录。 通过网管监控的 CPU 利用率情况,如图所示 :通过网管监控看到的 CPU 利用率告警信息1. 交换机上出现 CPU 占用率过高的日志信息。S6700-1 %%01VOSCPU/4/CPU_USAGE_HIGH(l)[31]:The CPU is overloaded(CpuUsage=96%, Threshold=95%), and the tasks with top three CPU occupancy are: FTS total : 18% SRMT total : 11% SOCK total : 8% S6700-1 %%01VOSCPU/4/CPU_USAGE_HIGH(l)[60]:The CPU is overloaded(CpuUsage=100%, Threshold=95%), and the tasks with top three CPU occupancy are: PPI total : 41% SRMT total : 10% FTS total : 8%2. 交换机上还有大量的 ARP 报文超过 CPCAR 后丢弃的日志记录。S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[56]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-miss, ExceededPacketCount=016956) S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[57]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-reply, ExceededPacketCount=020699) S6700-1 %%01DEFD/4/CPCAR_DROP_MPU(l)[58]:Rate of packets to cpu exceeded the CPCAR limit on the MPU. (Protocol=arp-request, ExceededPacketCount=0574)3. 查看端口 TC(Topology Change)报文收发情况。 所有使能 RSTP 的端口,接收的 TC 报文计数均在增长。<S6700> display stp tc-bpdu statistics -------------------------- STP TC/TCN information -------------------------- MSTID Port TC(Send/Receive) TCN(Send/Receive) 0 GigabitEthernet0/0/1 19319/3271 0/0 0 GigabitEthernet0/0/2 29761/676 0/0 0 GigabitEthernet0/0/3 128/4 0/0 0 GigabitEthernet0/0/4 24615/1016 0/0 0 GigabitEthernet0/0/5 30697/98 0/0 0 GigabitEthernet0/0/6 25447/317 0/0处理过程步骤 1 全局配置 stp tc-protection。配置此命令后可以保证设备频繁收到 TC 报文时,每 2 秒周期内最多只处理 1 次表项刷新。 从而减少 MAC、ARP 表项频繁刷新对设备造成的 CPU 处理任务过多。步骤 2 全局配置 arp topology-change disable 及 mac-address update arp当设备收到 TC 报文后,默认会清除 MAC、老化 ARP。当设备上的 ARP 表项较多时,ARP 的 重新学习会导致网络中的 ARP 报文过多。配置 arp topology-change disable、mac-address update arp 后,在网络拓扑变化时,可以根据 MAC 地址的出接口变化刷新 ARP 表项出接口。可以 减少大量不必要的 ARP 表项刷新。说明:V100R006 版本开始支持 mac-address update arp,V200R001 版本开始支持 arp topology-change disable 命令根因通过查看端口的 TC 报文计数,发现端口收到大量的 TC 报文,且在不断增长。触发 MAC 删除、 ARP 表项刷新,设备处理大量 arp-miss、arp-request 和 arp-reply 报文,导致 CPU 升高,OSPF Hello 报文、VRRP 心跳报文不能及时处理,出现震荡建议与总结在部署 STP 时,建议配置 TC 保护功能,所有连接终端的接口配置成边缘端口,这样可以避免 某些端口的状态变化引起整个 STP 网络震荡而重新收敛
2019年01月25日
10,956 阅读
4 评论
0 点赞
2018-11-15
wordpress关闭插件或主题更新提示
wordpress程序为提高安全性,往往程序、主题或插件都会进行定时更新,为安全起见,学建站网建议大家尽量做到定时更新,然而也会出现一些特殊的情况:如你使用的是一些已经汉化的主题或插件,为客户搭建网站后,往往不需要客户更新,那么这个时候我们就需要在后台关闭主题或插件的更新提示,不然一个个的小红点会让客户感觉不舒服:去除更新提示,我们可以通过如下代码完成操作:找到主题的函数文件functions.php,在?>结束位置放置如下代码;add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // 关闭核心提示 add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示 add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // 关闭主题提示 remove_action('admin_init', '_maybe_update_core'); // 禁止 WordPress 检查更新 remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件 remove_action('admin_init', '_maybe_update_themes'); // 禁止 WordPress 更新主题3.7以后开启了小版本的自动更新。很多时候更新不会询问你一觉起来就给你更新了,当然这也需要你的主机支持才可以完成。关闭自动更新在WordPress 根目录下的 wp-config.php 加入以下代码即可:define( 'AUTOMATIC_UPDATER_DISABLED', true );
2018年11月15日
6,128 阅读
0 评论
0 点赞
2018-10-26
Simple Queue简单配置
功能包:system等级: Level 3操作路径: /queue simple在/queue simple创建一个流控配置项目,会分别有三个独立的队列,分别是 global-in, global-out和 global-total. 如果在/queue simple创建一个默认队列规则(无流控限制、queue type为默认),并且该队列没有子队列,即这样的队列实际上没有创建。如果队列只配置了upload/download流控属性,global-total队列可以被忽略。如果仔细观察,当建立一条queue simple规则同时在queue tree可以瞬间看到3条规则的建立,然后被隐藏到后台,即queue simple被建立在queue tree下。Simple queues是有序对队列即FIFO,每个数据包都必须经过每一个队列处理,直到最后一条队列规则,即如果有1000条队列,匹配的队列规则是排列在第1000条,那么数据包过经过前面999条后,才能到达该规则。 因此Simple queue在出现大量队列规则后,处理效率会降低。在v6大改动后,simple queue已经具备了和queue tree相同的等级流控功能。在v6前simple queue使用的是FIFO算法,后v6之后FIFO算法已经取消,优化了RouterOS在流控处理性能。 P2P流量队列 计划时间任务执行队列规则 优先级队列 从 /ip firewall mangle 使用多重包标记 双向流控(对上行和下行的带宽限制) 应用举例下面假设我们想要对网络192.168.0.0/24流量限制为:下行1Mb上行512kb,这里我们需要让服务器192.168.0.1不受流量控制。网络的基本设置如图:这里我们使用(simple queue)简单队列,首先我们配置RouterOS的IP地址、网关和NAT等基本网络参数:[admin@MikroTik] ip address> print Flags: X – disabled, I – invalid, D – dynamic # ADDRESS NETWORK BROADCAST INTERFACE 0 192.168.0.254/24 192.168.0.0 192.168.0.255 Local 1 10.5.8.104/24 10.5.8.0 10.5.8.255 Public [admin@MikroTik] ip address>路由配置:[admin@MikroTik] ip route> print Flags: X – disabled, A – active, D – dynamic, C – connect, S – static, r – rip, b – bgp, o – ospf # DST-ADDRESS G GATEWAY DISTANCE INTERFACE 0 ADC 10.5.8.0/24 Public 1 ADC 192.168.0.0/24 Local 2 A S 0.0.0.0/0 r 10.5.8.1 Public [admin@MikroTik] ip route>最后不要忘记在ip firewall nat中配置src-nat的伪装或nat,做地址转换操作。为网络192.168.0.0/24的所有客户端添加一个限制下载流量为2Mb上传流量1Mb的简单队列规则。[admin@MikroTik] queue simple> add name=Limit-Local target-address=192.168.0.0/24 max-limit=1000000/2000000 [admin@MikroTik] queue simple> print Flags: X – disabled, I – invalid, D – dynamic 0 name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=1000000/2000000 total-queue=default [admin@MikroTik] queue simple>max-limit限制了最大可用带宽,从客户的角度看,参数target-addresses定义限制带宽的目标网络或者主机(也可以用逗号分隔开网络段或主机地址)。这里不想让服务器受到我们添加上面规则的任何流量限制,我们可以通过添加一个没有任何限制的规则(max-limit=0/0代表没有任何限制)并把它移到列表的顶部:[admin@MikroTik] queue simple> add name=Server target-addresses=192.168.0.1/32 [admin@MikroTik] queue simple> print Flags: X – disabled, I – invalid, D – dynamic 0 name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072 total-queue=default 1 name=”Server” target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0 total-queue=default使用move命令将第二条规则移动到第一条,即从编号1,移动到编号0,用于queue simple中FIFO的优先顺序(注意:v6.0后FIFO算法被取消,所以不存在move命令)[admin@MikroTik] queue simple> move 1 0 [admin@MikroTik] queue simple> print Flags: X – disabled, I – invalid, D – dynamic 0 name=”Server” target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0 total-queue=default 1 name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0 parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072 total-queue=default [admin@MikroTik] queue simple>
2018年10月26日
7,048 阅读
0 评论
0 点赞
2018-10-26
近期Mikrotik-RouterOS的几个漏洞说明
关于WEB 服务的漏洞WikiLeaks 开始使用一个新的代号 Vault 7 作为美国中情局(CIA)的敏感信息披露计划,这次被发布的第一份档案 Year Zero 大小高达 513MB,一共包含 8,761 份相关敏感文档。根据维基解密的阐述,这份包含了大量 0day,恶意软件,病毒,木马以及相关文档的高度机密资料,在美国政府黑客和承包商之间传播,其中有人向维基解密提交了这份绝密档案的部分内容。关于www服务器的漏洞,是从2017年维基解密公布新的代号 Vault 7的文档,据维基解密的阐述,这份包含了大量 0day,恶意软件,病毒,木马以及相关文档的高度机密资料,在美国政府黑客和承包商之间传播,其中有人向维基解密提交了这份绝密档案的部分内容。如果没有防火墙来保护www服务,该漏洞直接影响到RouterOS的webfig网页配置接口,MikroTik修改该漏洞从6.37.5 Bugfix 版本和6.38.5 发行版本,这两个版本都是在2017年3月9日发布该漏洞后来被几个恶意攻击利用,并且影响到之前未修复的RouterOS,以及将www服务端口(TCP 80端口)开放给不信任网络RouterOS系统。1、VPNfilter在2018年5月22日,MikroTik接到Cisco通知,一个恶意工具VPNfilter在多个网络设备中被发现,其中包括三款MikroTik的设备。MikroTik高度重视,该恶意软件通过RouterOS的一个漏洞安装进系统,但在2017年3月,MikroTik已经修补过该漏洞,被攻击的是老版本的RouterOS。因此建议尽快升级RouterOS最新版本,如果有更多关于该漏洞的消息请与MikroTik联系(support@mikrotik.com)。如果你运行的RouterOS版本是在2017年3月之前(6.37.5 bugifx版本和6.38.5发行版本),并且允许不信任网络访问设备的www服务(TCP 80端口)P.S: VPNfilter这个名字只是被发现的恶意软件的代号(更具体地说,是一个假的可执行名称),这个工具的执行方式与VPN隧道没有关联. 从基本的角度看,恶意软件可以嗅探某些类型的流量,并将其发送到某个地方,或者让路由器系统崩溃。2、流氓僵尸工具近期MikroTik官方注意到,一款流氓僵尸网络正在扫描随机的公共IP地址,以找到那些打开Winbox(TCP 8291)和WWW(TCP 80)端口的RouterOS,并利用以上描述的几个漏洞进行恶意攻击。注意Winbox与该漏洞没有关系,只是利用winbox的端口来识别MikroTik的RouterOS设备,当识别到后,会继续尝试通过TCP 80端口攻击如果在最近一年时间未升级过RouterOS,强烈的建议升级你的RouterOS设备,仅需要在winbox中打开/system packages 点击check for updates,选择Download&install,即可升级(确保RouterOS能正常连接网络,并在ip->dns下配置好dns服务器)对于80端口的RouterOS如何确定是否安全?– 如果你在最近一年内升级了RouterOS,是安全的 – 如果你在ip service关闭掉了www服务,是安全的 – 如果你有防火墙配置保护TCP 80端口,确保配置正确,是安全的 – 如果你的Hotspot只对局域网服务,但Webfig不能访问,是安全的 – 如果你的User Manager只对局域网服务,但Webfig不能访问,是安全的. – 如果你修改了Winbox默认端口,你可以幸免不会被扫描到,但并不代表不会被感染 – 如果你关闭Winbox端口,你可以幸免不会被扫描到,但并不代表不会被感染 – 如果”ip service”的 “allowed-from” 参数设置了信任网络,在信任网络内没有被感染设备,是安全的 – 如果Webfig仅局域网可访问,需要小心被局域网感染设备所利用如果保护?1、升级RouterOS最新版本,升级方式:Winbox中打开/system packages 点击check for updates,选择Download&install 升级 2、修改你的RouterOS所有管理员密码 3、根据MikroTik官方指南保护你的设备,下面是官方提供的保护路由器的防火墙规则介绍 https://wiki.mikrotik.com/wiki/Manual:Securing_Your_Router 如果监测?– 升级到6.38.5或更高版本,将会删除掉漏洞文件,修改密码,安全之前提到的方法保护到TCP 80端口 – 如果你升级设备后,仍然能看通过telnet或其他方式非法访问你的路由器,请打开Tool/torch工具,找到攻击源,但你本地网络的其他设备被感染,也请及时做出升级处理和安全措施关于Winbox漏洞RouterOS发现一个新的漏洞,针对RouterOS v6.29以后的版本,从6.29到6.43rc3受到该漏洞影响。这个漏洞与之前的TCP 80端口不同,这个是直接针对Winbox 8291端口漏洞说明:该漏洞通过一个特定的工具连接winbox端口(tcp/8291),并获取系统管理员的数据文件,从而得到RouterOS的登录账号和密码。受影响版本:6.29到6.43rc3受到该漏洞影响,从v6.40.8、v6.42.1和v6.43rc4修复该漏洞,请大家及时更新版本! 升级完成后,及时更改密码升级操作:/system packages 点击check for updates,选择Download&install 升级
2018年10月26日
7,892 阅读
0 评论
0 点赞
2018-10-07
wordpress获取各类页面链接的函数总结
在WordPress项目开发过程,很可能需要获取WordPress 各类页面的链接,包括首页、文章页、Page页面、存档页面等等,今天倡萌就简单分享下获取 WordPress 各类页面的链接的方法。获取文章或页面链接直接输出文章或页面的链接: <?php the_permalink(); ?> 返回文章或页面的链接,以供调用: get_permalink(); 可以使用 echo 输出,结果和直接使用 the_permalink() 一样: <?php echo get_permalink(); ?> 获取存档页面链接 function get_current_archive_link( $paged = true ) { $link = false; if ( is_front_page() ) { $link = home_url( '/' ); } else if ( is_home() && "page" == get_option('show_on_front') ) { $link = get_permalink( get_option( 'page_for_posts' ) ); } else if ( is_tax() || is_tag() || is_category() ) { $term = get_queried_object(); $link = get_term_link( $term, $term->taxonomy ); } else if ( is_post_type_archive() ) { $link = get_post_type_archive_link( get_post_type() ); } else if ( is_author() ) { $link = get_author_posts_url( get_query_var('author'), get_query_var('author_name') ); } else if ( is_archive() ) { if ( is_date() ) { if ( is_day() ) { $link = get_day_link( get_query_var('year'), get_query_var('monthnum'), get_query_var('day') ); } else if ( is_month() ) { $link = get_month_link( get_query_var('year'), get_query_var('monthnum') ); } else if ( is_year() ) { $link = get_year_link( get_query_var('year') ); } } } if ( $paged && $link && get_query_var('paged') > 1 ) { global $wp_rewrite; if ( !$wp_rewrite->using_permalinks() ) { $link = add_query_arg( 'paged', get_query_var('paged'), $link ); } else { $link = user_trailingslashit( trailingslashit( $link ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var('paged'), 'archive' ); } } return $link; } 该函数可以输出首页、分类法(自定义分类法、标签、分类)、自定义文章类型的存档页面、作者存档页面、日期存档页面 的链接,包含分页。获取当前页面链接如果你不想判断页面类型,只想输出当前页面的链接,可以使用下面的代码: <?php global $wp; $current_url = home_url(add_query_arg(array(),$wp->request)); echo $current_url; ?> 好了,暂且说到这里。如果大家有什么补充,欢迎留言分享,谢谢。参考资料:http://wordpress.stackexchange.com/questions/29512/permalink-for-category-pages-and-postshttp://stephenharris.info/how-to-get-the-current-url-in-wordpress/
2018年10月07日
5,432 阅读
1 评论
0 点赞
2018-09-22
CentOS 常用查看命令
日 志 文 件 说 明 cat tail -f /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息 系统: uname -a # 查看内核/操作系统/CPU信息 cat /etc/issue cat /etc/redhat-release # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 lsmod # 列出加载的内核模块 env # 查看环境变量 资源: free -m # 查看内存使用量和交换区使用量 df -h # 查看各分区使用情况 du -sh <目录名> # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 uptime # 查看系统运行时间、用户数、负载 cat /proc/loadavg # 查看系统负载 磁盘和分区: mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 swapon -s # 查看所有交换分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况 网络: ifconfig # 查看所有网络接口的属性 iptables -L # 查看防火墙设置 route -n # 查看路由表 netstat -lntp # 查看所有监听端口 netstat -antp # 查看所有已经建立的连接 netstat -s # 查看网络统计信息 进程: ps -ef # 查看所有进程 top # 实时显示进程状态(另一篇文章里面有详细的介绍) 用户: w # 查看活动用户 id <用户名> # 查看指定用户信息 last # 查看用户登录日志 cut -d: -f1 /etc/passwd # 查看系统所有用户 cut -d: -f1 /etc/group # 查看系统所有组 crontab -l # 查看当前用户的计划任务 服务: chkconfig –list # 列出所有系统服务 chkconfig –list | grep on # 列出所有启动的系统服务 程序: rpm -qa # 查看所有安装的软件包
2018年09月22日
6,991 阅读
3 评论
0 点赞
2016-05-22
RouterOS打开网页强制跳转到指定服务器
今天群友有这个需求就写了个脚本,不过也是有很久没更新文章了,哈哈。#映射命令 ip firewall nat add chain=dstnat action=dst-nat to-addresses=修改为自己的服务IP to-ports=80 protocol=tcp src-address-list=Client-ip dst-port=80 disabled=yes #设置强制跳转时间 ip firewall mangle add chain=prerouting action=add-src-to-address-list protocol=tcp src-address-list=!Client-ip_2 address-list=Client-ip address-list-timeout=5s dst-port=80 disabled=yes #设置刷新间隔 ip firewall mangle add chain=prerouting action=add-src-to-address-list protocol=tcp src-address-list=Client-ip address-list=Client-ip_2 address-list-timeout=5m dst-port=80 disabled=yes来自Routeos入门
2016年05月22日
4,924 阅读
0 评论
0 点赞