Rootop 服务器运维与web架构

2013-04-15
发表者 Venus
暂无评论

WARNING: The remote SSH server rejected X11 forwarding

使用Xmanager Enterprise 4 连接redhat6.0时,报错:
WARNING: The remote SSH server rejected X11 forwarding

根据提示修改ssh配置文件:
X11Forwarding yes
重启ssh,重新连接还是报错,后来才想起来这个系统安装的时候没有桌面环境。

搭建本地yum环境,安装桌面。
[root@rhel6www ~]# yum groupinstall “Desktop”
[root@rhel6www ~]# yum groupinstall “X Window System”
解决。

附:Xmanager Enterprise 4 序列号一枚: 101210-450789-147200

2013-04-12
发表者 Venus
暂无评论

shell获取昨天、明天、多天前以及多天后的日期

在Linux中对date -d 参数描述不多,这里详细说一下:
# -d, –date=STRING display time described by STRING, not `now’

我今天日期是
[root@rhel6www ~]# date +%F
2013-04-12
#取得昨天的日期  last-day和yesterday效果一样
[root@rhel6www ~]# date -d last-day +%Y-%m-%d
2013-04-11
[root@rhel6www ~]# date -d yesterday +%Y-%m-%d
2013-04-11

#获取明天的日期   next-day和tomorrow效果一样
[root@rhel6www ~]# date -d next-day +%Y-%m-%d   
2013-04-13
[root@rhel6www ~]# date -d tomorrow +%Y-%m-%d
2013-04-13

#获取2天前的日期
[root@rhel6www ~]# date -d ‘2 days ago’ +%Y-%m-%d    //注意用单引号
2013-04-10

#获取2周前的日期
[root@rhel6www ~]# date -d ‘2 weeks ago’ +%Y-%m-%d
2013-03-29

#获取2个月前的日期
[root@rhel6www ~]# date -d ‘2 months ago’ +%Y-%m-%d
2013-02-12

#获取2年前的日期
[root@rhel6www ~]# date -d ‘2 years ago’ +%Y-%m-%d
2011-04-12

###############################################################

#获取2天后的日期
[root@rhel6www ~]# date -d ‘2 days’ +%Y-%m-%d
2013-04-14

#获取2个星期后的日期
[root@rhel6www ~]# date -d ‘2 weeks’ +%Y-%m-%d
2013-04-26

#获取2个月后的日期
[root@rhel6www ~]# date -d ‘2 months’ +%Y-%m-%d
2013-06-12

#获取2年后的日期
[root@rhel6www ~]# date -d ‘2 years’ +%Y-%m-%d
2015-04-12
[root@rhel6www ~]# date -d last-month +%Y-%m-%d   //上个月日期
2013-03-12
[root@rhel6www ~]# date -d next-month +%Y-%m-%d   //下个月日期
2013-05-12
[root@rhel6www ~]# date -d next-year +%Y-%m-%d    //明年日期
2014-04-12

这里注意一个参数 ” – ” 杠

[root@rhel6www ~]# date +%Y-%m-%d-%H-%M    #比如说这里是4月14号8点1分 有个0,没什么意义。
2013-04-14-08-01
[root@rhel6www ~]# date +%Y-%m-%d-%H-%M   #加上 –  参数即可忽略0
2013-4-14-8-1

2013-04-08
发表者 Venus
暂无评论

关于php中没有gzdecode函数

     gzdecode主要用来对网站的gzip压缩做解压工作,在使用这个函数的时候提示没有此函数,随之搜罗网络,大部分内容都是转来转去。

     gzdecode函数依赖于zlib模块,php -m 查看模块已经存在,但是依旧找不到函数,又把zlib拓展模块重新安装了一遍还是没用,最后在php官网发现此函数在正式版发行的php中是不存在的。

http://www.php.net/manual/en/function.gzdecode.php

gzdecode

(No version information available, might only be in SVN)

gzdecode — Decodes a gzip compressed string

网上大部分方案都是自定义函数,然后引用。php designer :P

2013-04-07
发表者 Venus
暂无评论

让Linux服务器在kernel panic时自动重启

     转自:http://www.bitscn.com/os/linux/201008/189507.html

     现在的 Linux 比几年前要成熟的多,但有时候还是会出现莫名其妙、无法解释的 kernel panic 情况。对于大部分 Linux 用户来说出现 kernel panic 重启一下就可以了,但是对于系统管理员和那些做虚拟主机、共享主机、OpenVZ VPS 主机的 hosting 服务商来说出现未知的 kernel panic、导致系统挂掉可能就不太友好,如果没有 KVM over IP 的话,系统挂掉后 hosting 服务商需要自己先反馈到上一级的独立服务器提供商,比如提交 ticket 或者打电话,然后独立服务器供应商还要时间验证你的资料、处理你的 ticket,最后才到真正的数据中心,一般晚上(中国的白天)数据中心只有几个人值班,到最后处理完你的重启 ticket 可能已经过了20多分钟了,这20分钟的 downtime 时间你还要给你自己的客户写信解释情况,问题是这20分钟还是理想情况,如果你碰到一个很烂的独立服务器提供商或数据中心,处理 ticket 要以小时或天为单位来计,或者如果你是 one man、晚上正在睡觉没有收到 kernel panic 报警,这样的话花的时间就会更多。那么有没有办法让 Linux 服务器遇到 kernel panic 情况自动重启呢?VPSee 在这里介绍一个简单有效的小技巧:

编辑 /etc/sysctl.conf 文件,并定义遇到 kernel panic 20秒后自动重启 Linux:

# vi /etc/sysctl.conf
kernel.panic = 20
Linux 这么神奇?遇到 kernel panic 自己都不行了还能自己自动重启?来看看 Linux 内核里面这部分代码是怎么工作的,最好最权威的资料永远来自内核源代码:

  • …  
  •  if (panic_timeout > 0) {  
  •                 /*  
  •                  * Delay timeout seconds before rebooting the machine.  
  •                  * We can’t use the “normal” timers since we just panicked.  
  •                  */ 
  •                 printk(KERN_EMERG “Rebooting in %d seconds..”, panic_timeout);  
  •  
  •                 for (i = 0; i < panic_timeout*1000; ) {  
  •                         touch_nmi_watchdog();  
  •                         i += panic_blink(i);  
  •                         mdelay(1);  
  •                         i++;  
  •                 }  
  •                 /*  
  •                  * This will not be a clean reboot, with everything  
  •                  * shutting down.  But if there is a chance of  
  •                  * rebooting the system it will be rebooted.  
  •                  */ 
  •                 emergency_restart();  
  •         }  
  • …  
  • 2013-04-03
    发表者 Venus
    暂无评论

    mysql存储过程导致的slave停止同步

    在mysql同步中,从库很多情况下因为主库修改了存储过程而导致从库stop掉。
    查看网上资料,搜出来这么一个参数:
    log_bin_trust_function_creators = 1  默认为0是不允许function同步的。以前从来没注意过这个参数。

    修改my.cnf 添加
    log_bin_trust_function_creators = 1

    重新启动数据库即可。
    在mysql命令行中可以执行: show variables like ‘%function%’;  查看此功能是否关闭。

    不修改my.cnf且重启直接打开
    > stop slave;
    > set global log_bin_trust_function_creators = 1;
    > start slave;