sentry相关网址

其它:
Centos7安装Sentry错误跟踪平台(一)   http://blog.51cto.com/kexiaoke/1933594
centos 7 搭建sentry    https://www.tianmaying.com/tutorial/sentry
CentOS 7 安装、配置、使用 PostgreSQL 9.5(一)安装及基础配置    https://www.cnblogs.com/Amos-Turing/p/7681323.html
Python 实时日志平台 Sentry   http://blog.51cto.com/53cto/1839079

Linux安装虚拟机环境

Linux安装虚拟机环境
一、Virtualenv环境
#virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境
pip install -U sentry  或 pip install sentry==7.4.3 #指定版本
#激活出一个新的环境,在这个新环境下我们在进行后续操作
source sentry/bin/activate
#退出环境
deactivate
#初始化
sentry init /etc/sentry
#virtualenv虚拟机环境相关参数说明:
$ sentry
Usage: sentry [OPTIONS] COMMAND [ARGS]…
  Sentry is cross-platform crash reporting built with love.
  The configuration file is looked up in the `~/.sentry` config directory but this can
  be overridden with the `SENTRY_CONF` environment variable or be explicitly provided
  through the `–config` parameter.
Options:
  –config PATH  Path to configuration files.
  –version      Show the version and exit.
  –help         Show this message and exit.
Commands:
  celery      DEPRECATED see `sentry run` instead.
  cleanup     Delete a portion of trailing data based on…
  config      Manage runtime config options.
  createuser  Create a new user.
  devserver   Starts a lightweight web server for…
  django      Execute Django subcommands.
  dsym        Manage system symbols in Sentry.
  export      Exports core metadata for the Sentry…
  files       Manage files from filestore.
  help        Show this message and exit.
  import      Imports data from a Sentry export.
  init        Initialize new configuration directory.
  plugins     Manage Sentry plugins.
  queues      Manage Sentry queues.
  repair      Attempt to repair any invalid data.
  run         Run a service.
  shell       Run a Python interactive interpreter.
  start       DEPRECATED see `sentry run` instead.
  tsdb        Tools for interacting with the time series…
  upgrade     Perform any pending database migrations and…

XtraBackup不停机不锁表热备mysql数据库

环境
mysql版本 Server version: 5.6.42-log MySQL Community Server
数据库data目录 /data/mysql/
binlog日志目录 /data/bin_logs/
备份目录 /data/backup/

完全备份脚本 (每日一次,00:10:00执行)
************************************************************
#!/bin/bash
base_dir=”/data/backup/`date +%F`”
[ -d ${base_dir} ] || mkdir ${base_dir}
[ -d ${base_dir}/full_`date +%F` ] && exit 0
innobackupex –defaults-file=/etc/my.cnf –user=root –password=’123456′ –no-timestamp ${base_dir}/full_`date +%F`
[ $? -eq 0 ] || echo “$(date +”%F_ %T”) 完全备份失败,请重新备份” >> /data/backup/backup.log
************************************************************

增量备份脚本 (每小时一次,xx:30:00执行)
************************************************************
#!/bin/bash
base_dir=”/data/backup/`date +%F`”
full_dir=”/data/backup/`date +%F`/full_`date +%F`”
inc_dir=”${base_dir}/inc_`date +%H`”
[ -d ${inc_dir} ] && exit 0
innobackupex –defaults-file=/etc/my.cnf –user=root –password=’123456′ –no-timestamp –incremental-basedir=${full_dir} –incremental ${inc_dir} &> /dev/null
[ $? -eq 0 ] || echo “$(date +”%F_ %T”) ${inc_dir}增量备份失败,请重新备份” >> /data/backup/backup.log
************************************************************

一键还原脚本
************************************************************
#!/bin/bash
base_dir=”/data/backup/`date +%F`”
full_dir=”${base_dir}/full_`date +%F`”
inc_dir=”${base_dir}/`ls ${base_dir} | tail -1`”
cp -a ${base_dir} /data/backup/`date +”%F-%T”`_bak
innobackupex –defaults-file=/etc/my.cnf –user=root –apply-log –redo-only ${full_dir}
innobackupex –defaults-file=/etc/my.cnf –user=root –apply-log –redo-only ${full_dir} –incremental-dir=${inc_dir}

service mysqld stop
mv /data/mysql /data/mysql_bak`date +”%F_%T”`
mkdir /data/mysql
innobackupex –defaults-file=/etc/my.cnf –user=root –copy-back ${full_dir}
chown -R mysql.mysql /data/mysql
service mysqld start

###binlog日志还原
###这里选择的是最后一个binlog日志,如果增量备份的一个小时内,有多个mysql-bin.0000xx生成,需要手动选择bin-log日志;
###还原执行13:30点后的所有sql命令
Hour=`basename ${inc_dir}|grep -o ‘[0-9]*’`
binlog=`ls /data/bin_logs/|grep [0-9]|tail -1`
mysqlbinlog –start-datetime=”`date +%F` ${Hour}:30:00″ /data/mysql/${binlog} | mysql -uroot -p ‘123456’

###还原执行13:30-14:10之间的所有sql命令
##mysqlbinlog –start-datetime=”2018-11-21 13:30:00″ –stop-datetime=”2012-03-15 14:10:00″ /data1/log/mysql/mysql-bin.000001 > /tmp/mysql_restore_030915.sql
************************************************************

计划任务
************************************************************
10 00 * * * /bin/bash /root/.scripts/full_back.sh
30 * * * * /bin/bash /root/.scripts/inc_back.sh

如何实现MySQL数据库碎片处理及优化

mysql经过一段时间运行后,经过多次的DML操作会在表中留下很多碎片,造成数据存储时不连续,影响性能。下面几条语句可将mysql优化,建议不要高峰时段操作
#检查表
CHECK TABLE TABLE_NAME;
#分析表
ANALYZE TABLE TABLE_NAME;
#优化表
OPTIMIZE TABLE TABLE_NAME;
#修复表
REPAIR TABLE TABLE_NAME;

#例如对tb_user做优化处理
CHECK TABLE tb_user;
ANALYZE TABLE tb_user;
OPTIMIZE TABLE tb_user;
REPAIR TABLE tb_user;

#查询数据行数
SELECT
table_name,
table_rows
FROM
information_schema.tables
WHERE
table_schema = ‘myapp’
ORDER BY table_rows desc;

如何在Centos7安装和设置svn为服务并开机启动

1.安装
yum install -y subversion
2.创建版本目录
mkdir /opt/svn/repositories
3.创建版本目录
svnadmin create /opt/svn/repositories/
4.添加用户组和账号
vim /opt/svn/repositories/conf/authz
添加内容:
[groups]
# 用户组及对应的用户
pp =lm,yl,jw,zh
# 库目录权限
[/]
# 用户组权限
@pp = rw
# 非用户组权
*=r
5.设置用户密码
vim /opt/svn/repositories/conf/passwd
添加内容:
[users]
lm = 123456
yl = 123456
jw = 123456
zh = 123456
6.设置svn权限
vim /opt/svn/repositories/conf/authz
添加内容:
[general]
# 匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
# 使授权用户有写权限
auth-access=write
# 使用哪个文件作为账号文件
password-db=passwd
# 使用哪个文件作为权限文件
authz-db=authz
# 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
7.添加防火墙端口
默认端为3690,此处不用默认端口,假设开一个新端口9999
systemctl status firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd –permanent –zone=public –add-port=9999/tcp
firewall-cmd –reload
firewall-cmd –list-all
systemctl restart firewalld
8.手工启动服务
svnserve -d -r /opt/svn/repositories/ –listen-port 9999
9.查看svn进程
ps -ef | grep svn
10.检查svn版本库
svnserve –version
二..设置svn为服务及开机启动
1.修改文件/etc/sysconfig/svnserve,此处是重点,修改监听端口在这里加参数
vim /etc/sysconfig/svnserve
修改内容:
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
#OPTIONS=”-r /var/svn”
OPTIONS=”-r /opt/svn/repositories/ –listen-port 9999″
2.修改/usr/lib/systemd/system/svnserve.service
vim /usr/lib/systemd/system/svnserve.service
修改内容:
# /usr/lib/systemd/system/svnserve.service
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve –daemon –pid-file=/run/svnserve/svnserve.pid $OPTIONS
[Install]
WantedBy=multi-user.target
3.设置开机启动
systemctl start svnserve
systemctl enable svnserve
systemctl status svnserve
systemctl restart svnserve

常用的dos命令

1.目录切换

1).进入根目录

cd  \

2).返回上一级

cd  ..

3).进入具体某个盘,如E:

cd  E:

4).直接用pushd定位,如定到pushd F:\Oracle

pushd F:\Oracle

2.查看系统版本

ver

3.文件操作

1).创建文件夹

mkdir F:\abc

echo

2).删除文件夹

rd F:\abc

3).创建一个新文件

echo “abc” >>F:\test123.txt

4).用more查看文件内容

more F:\test123.txt

5).用type查看文件内容

type F:\test123.txt

6).用tree查看目录结构

tree F:

7).用del删除文件

del F:/test123.txt

4.查看和停用服务

1).查看所有系统服务

net start

2).停止服务,如停止MySQL服务

net stop MySQL

3).启动服务,如启动MySQL服务

net start MySQL

5.查看网络连接

1).查看本地端口开放情况

netstat -an

2).查看本地端口开放情况及可执行组件

netstat -anb

3).查看本地端口开放情况及加接的相关进ID

netstat -ano

6.系统账号管理

1).查看系统所有用户

net  user

2).查看管理员账户信息,包括权限和登录时间

net  user adminstrator

3).创建一个名为sbtest账户

net  user sbtest 123456  /add

4).查看本地用户组

net localgroup

5).提升sbtest用户至管理员权限

net localgroup Administrators sbtest  /add

6).删除sb123 用户

net user sb123 /del

7).激活用户账号sbtest

net user sbtest  /active:yes

8).停用户账号sbtest

net user sbtest  /active:no

9).修改用户sbtest密码为sbtest

net user sbtest sbtest

7.网络命令

1).ping命令:域名或IP;如ping百度

ping  www.baidu.com

2).查看本地网卡

ipconfig  /all

3).内网渗透命令

net view

4).telnet查看端口连通或远程登录

telnet 127.0.0.1 80

telnet 192.168.10.100

8.查看用户权限

whoami

9.路由跟踪

tracert  www.baidu.com

10.注册表操作

1).导出注册表

regedit /e E:\software\1.reg “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp”

2).导入注册表

regedit /s E:\software\1.reg

11.查看当前用户

query user

12.注销登录用户格式:logoff 用户ID号

logoff  1

13.打开远程登录桌面窗口

mstsc/console

14.查看系统进程提供的服务

tasklist/svc

15.强制杀掉指定进程

taskkill/pid 进程pid号  /f

如:taskkill/pid 5604 /f

16.查找服务安装路径,如查找MySQL服务的安装路径

sc  qc “MySQL”

17.用regsvr32命令注册与反注册

参数: /u 为卸载   /s 为安静模式

如:

regsvr32  WSHom.Ocx/u  卸载wscript.shell对象

regsvr32  scrrun.dll/u  卸载FOS对象

regsvr32  shell32.dll/s/u  安静模式卸载FOS对象

如何利用Python脚本实现邮件发送

用python编写邮件发送功能,代码少,也比较简。可分为http方式默认25端口发送和https方式默认465端口发送。

一..本机发送

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText('zabbix邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix邮件发送测试", 'utf-8')
message['To'] = Header("测试01", 'utf-8')

subject = 'Python SMTP 邮件测试01'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP('smtp.qq.com')
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

 

二.用25端口方式

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "zabbix"  # 用户名
mail_pass = "123456"  # 口令

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

message = MIMEText('zabbix邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix邮件发送测试", 'utf-8')
message['To'] = Header("测试", 'utf-8')

subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

 

三.利用465端口方式

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "zabbix"  # 用户名
mail_pass = "123456"  # 口令

sender = 'zabbix@qq.com'
receivers = ['lao@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

message = MIMEText('zabbix告警邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("zabbix告警邮件发送测试", 'utf-8')
message['To'] = Header("zabbix告警邮件发送测试", 'utf-8')

subject = 'Python zabbix告警邮件发送测试'
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP_SSL()
    smtpObj.connect(mail_host, 465)  # 465 为 SMTP 端口号
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

 

Linux Kali Debian 内核 4.14.0-kali3-amd64版本安装virtualbox增强

1.更新linux内核
apt-get update
apt-get dist-upgrade
reboot

2.更新内核头文件和镜像文件
1).打开终端,运行
apt-cache search linux-headers
2).选择第四个下载
apt-get install linux-headers-4.14.0-kali3-amd64
3).接着运行
apt-cache search linux-image
4).同样选择第三个安装
apt-get install linux-image-4.14.0-kali3-amd64
5).最后安装模块增强module-assistant,和gcc,make,运行
apt-get install module-assistant
apt-get install gcc make
5).重启
reboot

3.开始安装增强工具
执行命令:
cp /media/cdrom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditions.run
cd /root
./VBoxLinuxAdditions.run
reboot