记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据。系统环境:操作系统:CentOS 6.5 X64  (虚拟机);WEB服务:PHP+Mysql+apache;网站:为方便,直接在本地用蝉知系统搭建一个DEMO站点;操作步骤:1.开启binlog功能及基本操作;2.往站点添加数据;3.刷新binlog日志;4.删除数据;5.binlog日志内容解析;6.恢复指定数据;1.开启binlog功能及基本操作要使用Mysql的binlog日志功能,首先要在Mysql的配置文件中开启该功能,操作很简单。找到Mysql的配置文件,在文件中添加一行”log_bin = mysql-bin”即可。其实在我安装的各种Mysql环境中,该功能通常都是默认开启的。开启binlog功能后,在mysql的数据库目录下就会有诸如mysql-bin.000001、mysql-bin.000002等文件,这就是mysql的二进制日志文件。每当mysql启动或手动刷新日志后都会新建一个二进制日志文件。首先我们mysql命令行中,用”show master logs”命令查看已有的binlog文件。2.往站点添加数据在网站后台文章模块里,我添加了几条测试数据。3.刷新b...
 
0

运维利器万能的 strace

发表者:admin分类:Devops2017-12-04 12:42:41 阅读[2158]
strace是什么?按照strace官网的描述, strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。strace底层使用内核的ptrace特性来实现其功能。在运维的日常工作中,故障处理和问题诊断是个主要的内容,也是必备的技能。strace作为一种动态跟踪工具,能够帮助运维高效地定位进程和服务故障。它像是一个侦探,通过系统调用的蛛丝马迹,告诉你异常的真相。strace能做什么?运维工程师都是实践派的人,我们还是先来个例子吧。我们从别的机器copy了个叫做some_server的软件包过来,开发说直接启动就行,啥都不用改。可是尝试启动时却报错,根本起不来!启动命令:./some_server ../conf/some_server.conf输出:FATAL: InitLogFile failed iRet: -1! Init error: -1655为什么起不来呢?从日志看,似乎是初始化日志文件失败,真相到底怎样呢?我们用strace来看看。strace -tt -f  ./some_server ../conf/some_server.conf输出: 我们注意到,在输出InitLogFile failed错误的前一行,有个open系统调用:23:14:24.448034 open(...
linux vsftp中的local_umask和anon_umask Linux文件系统中:r:4(读)w:2(写)x:1(执行) umask是在linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该 定义为:假设umask为022,则对于一个文件夹的话,它的默认属性为 777-022=755,这也就是我们平时建立文件夹的权限。而对于一般的文件的话,则是用 666-022=644.umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限umask = 022 时,新建的目录 权限是755,文件的权限是 644umask = 077 时,新建的目录 权限是700,文件的权限时 600vsftpd的local_umask和anon_umask借鉴了它默认情况下vsftp上传之后文件的权限是600,目录权限是700想要修改上传之后文件的权限,有两种情况如果使用vsftp的是本地用户则要修改配置文件中的 local_umask 的值如果使用vsftp的是虚拟用户则要修改配置文件中的 anon_umask 的值
 
0

zabbix监控TCP连接状态

发表者:admin分类:监控安全2017-11-22 09:26:07 阅读[3648]
使用zabbix监控TCP连接状态 一 监控原理:[python] view plain copy [root@99 nginx]# /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'  TIME_WAIT 5470  FIN_WAIT2 2  ESTABLISHED 16  LISTEN 4  [html] view plain copy 可以使用man netstat查看TCP的各种状态信息描述  ESTABLISHED       socket已经建立连接  CLOSED            socket没有被使用,无连接  CLOSING           服务器端和客户端都同时关闭连接  CLOSE_WAIT        等待关闭连接  TIME_WAIT         表示收到了对方的FIN报文,并发送出了ACK报文,等待2MSL后就可回到CLOSED状态  LAST_ACK&nb...
zabbix3对tcp连接数及状态的监控优化tcp的监控采用netstat命令,发现在服务器繁忙的时候效果不理想,这个命令占用大量的cpu有时候高达90%以上,可能会导致业务的不稳定,所以改用ss命令对脚本进行优化对tcp连接数和状态的监控意义主要有以下几点:1.可以观察服务器的压力分布(连接数大于5W的时候可能系统会有一定的压力,可以考虑加服务器)2.如果服务器的连接数突然变得极小(比如100以下),可能是业务系统故障导致在线用户被踢出在需要被监控的zabbix-agent端添加脚本编写创建文件夹mkdir -p /usr/local/zabbix-agent/scripts/mkdir -p /etc/zabbix/zabbix_agentd.d/vim /usr/local/zabbix-agent/scripts/tcp_status_ss.sh#!/bin/bash #scripts for tcp status function SYNRECV { /usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}'} function ESTAB { /usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'ESTAB' | awk '{print $2}'} function FINWAIT1 { /usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'FIN-WAIT-1' ...
oracle中ora-0100 maximum opencursors exceeded差错打开游标过大的解决使用oraclesqlhandler程序操作数据库时,提示ora-0100 maximum opencursors exceeded,断开对应的操作窗口会话,然后再重新执行命令或sql语句,程序正常了。java造访oracle数据库,,在for循环代码中,如果漠视关闭createstatment或preparedstatement建立的连接,将出现:ORA-0100  maximum opencursors exceeded  。   oracle中每次应用用createstatment或preparedstatement语句,都将打开一个游标,所以单纯增加oracle中打开游标数目不是解决问题的办法。问题解决:1:首先定位是那些语句打开的游标过大。履行以下语句:select * from v$open_cursor   where user_name = 'tech'2:从上面的查找结果的sql_text字段中,找到sql语句,再去java代码中定位履行这些语句的代码,添加PreparedStatement或Statement类的close法子
 
0

ORACLE 中dbms_stats的使用

发表者:admin分类:数据库2017-11-10 16:58:41 阅读[3472]
ORACLE 中dbms_stats的使用dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。exec dbms_stats.gather_schema_stats(ownname          => 'SCOTT',options          => 'GATHER AUTO',estimate_percent => dbms_stats.auto_sample_size,method_opt       => 'for all columns size repeat',degree           => 15)       为了充分认识dbms_stats的好处,需要仔细体会每一条主要的预编译指令(directive)。下面让我们研究每一条指令,并体会如何用它为基于代价的SQL优化器收集最高质量的统计数据。options参数使用4个预设的方法之一,这个选项能控制Oracle统计的刷新方式:gather——重新分析整个架构(Schema)。 gather empty——只分析目前还没有统计的表。 gather stale——只重新...
zabbix3.0 安装方法,一键实现短信、电话、微信、APP 告警 摘要: 引言免费开源监控工具 Zabbix 因其强大的监控功能得到各大互联网公司的广泛认可,具体功能不再详细介绍,在之前发布的 Zabbix 2.4.1 安装及微信短信提醒已经做了详细介绍,本篇主要对 Zabbix 3.0.1 的安装进行详细指导,并且详细介绍了 OneAlert 一键集成 Zabbix ,一分钟实现电话、短信和邮件通知。 引言免费开源监控工具 Zabbix 因其强大的监控功能得到各大互联网公司的广泛认可,具体功能不再详细介绍,在之前发布的 Zabbix 2.4.1 安装及微信短信提醒已经做了详细介绍,本篇主要对 Zabbix 3.0.1 的安装进行详细指导,并且详细介绍了 OneAlert 一键集成 Zabbix ,一分钟实现电话、短信和邮件通知。安装说明从 0 开始安装 Zabbix如果你从来没有接触过 Zabbix,请按照以下步骤安装 Zabbix,下面以 Zabbix 3.0.1 + OneAlert 实现监控Zabbix 服务器: 192.168.0.218 CentOS 7 64bit被监控机器: 192.168.0.219 CentOS 7 64bit也可以参考官网安装安装过程目录开始安装zabbix 3.0安装Zabbix-Server服务器安装Zabbix-Agen...
将zabbix 监控图以图片格式发送邮件到管理员邮箱 摘要: 将zabbix 监控图以图片格式发送邮件到管理员邮箱 1.cd /home/vim zabbix_send_mail.py#!/usr/bin/python# -*- coding:utf-8 -*-# http://www.cnblogs.com/hoods/p/6413330.html# http://blog.csdn.net/xiegh2014/article/details/76572556# http://www.runoob.com/python/python-email.html# 感谢上面三位仁兄的源码。# 各取一半一半,揉合之。# 能达到获取图片与发送邮件的效果。# 略粗糙,仅参考。# 2017-10-24# import HTMLParserimport urlparseimport urllibimport urllib2import cookielibimport stringimport osimport smtplibimport datetimeimport cookielib, urllib2, urllibfrom email.header import Headerfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagehost = "192.168.31.131"   smtpserver = 'smtp.aliyun.com'mail_username = 'user1@aliyun.com'mail_password = 'redhat'receiver = 'user2@aliyun.co...
本站博客添加百度的一键分享功能代码后,打开网站提示以下报错:Fatal error: Smarty error: [in blog.html line 46]: syntax error: unrecognized tag: "common":{"bdSnsKey":{ (Smarty_Compiler.class.php, line 455) 查看添加的script的代码:<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"32"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>JQ与smarty冲突,对添加的代码作下简单修改就可以,具体修改如下: <script> <!-- {literal} --> window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2"...
    总共269页,当前第79页 | 页数:
  1. 69
  2. 70
  3. 71
  4. 72
  5. 73
  6. 74
  7. 75
  8. 76
  9. 77
  10. 78
  11. 79
  12. 80
  13. 81
  14. 82
  15. 83
  16. 84
  17. 85
  18. 86
  19. 87
  20. 88
  21. 89