- 博客(43)
- 收藏
- 关注
原创 nginx 根据域名转发本机端口
server {listen 80;listen [::]:80;server_name xxxx.comlocation / {proxy_pass http://127.0.0.1:8080;}}server {listen 80;listen [::]:80;server_name xxxx.comlocation / {proxy_pass http://127.0.0.1:7080;}}
2022-04-19 17:32:14
4404
原创 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “/“
解决办法:将如下代码加入到路由设置文件index.js中即可const originalPush = VueRouter.prototype.pushVueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) }
2022-01-06 10:00:00
794
原创 pubsub.js消息的发布订阅
组件间数据的传递方式props,一层一层传递消息的发布订阅,当嵌套层数比较多,可以用此工具库下载$ npm install pubsub-js --save语法PubSub.publish('订阅名', data) //发布消息PubSub.subscrib('订阅名', (msg,data) => {} ) //订阅消息PubSub.unsubscrib('订阅名ID号') //取消订阅使用// 导入import PubSub from "pubsub-js"
2021-12-24 17:57:59
314
原创 python 字符串前面加r,u,b的含义
u/U:表示unicode字符串例:u"我是含有中文字符组成的字符串。"不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。 一般英文字符在使用各种编码下, 基本都可以正常解析,所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf-8,即在py文件开头添加: #coding: utf-8r/R:非转义的原始字符串例:r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。
2021-12-15 18:52:35
234
原创 Python3字符串和符号替换replace(),translate(),re.sub(), strip(), rstrip(),lstrip()
replace()python 中的 replace() 方法把字符串中的 old(旧字符串) 替换成new(新字符串),如果指定第三个参数max,则替换不超过 max 次str.replace(old, new[, max])a = 'Hello,world. ByeBye!'print(a.replace('l','Q'))print(a.replace('abcdefghi','0123456789'))print(a.replace('world','apple'))HeQQo,
2021-12-15 18:35:13
6881
1
原创 Python之excel文件追加内容
环境准备1,安装库安装三个模块:xlrd,xlwt,xlutils命令:pip install xlrd xlwt xlutils代码示例:#!/usr/bin/env python# -*- coding:utf-8 -*-from xlrd import open_workbookfrom xlutils.copy import copyr_xls = open_workbook("test.xls") # 读取excel文件row = r_xls.sheets()[0].n
2021-11-17 10:51:16
580
原创 crontab 里如何创建带日期的文件
需求在crontab 执行定时任务时,将执行的任务输出到带日期的文件中 crontab中,执行脚本需要传入系统时间date+"%Y-%m-%d"正确写法为:$(date +"\%Y-\%m-\%d")而不是这样:date +‘%Y-%m-%d’00 00 * * * python3 /root/xxx/xxxx.py >> /var/ds/$(date +"%Y-%m-%d")-mengdou.txt...
2021-09-02 16:51:26
1283
原创 Nginx显示文件目录并且设置下载
server { listen 80; server_name 域名或者IP; charset utf-8,gbk; # 避免中文乱码 # Load configuration files for the default server block. location /var/logs/ { # 可以指定也可以全部,全部就用 / alias /var/logs/; #指定实际目录绝
2021-09-02 16:19:27
2050
1
原创 Ansible-playbook 传递变量参数
ansible-playbook yml脚本传递变量参数的几种方法playbook 脚本内容---- hosts: "{{ hosts }}" # 变量 remote_user: 普通用户 become: yes become_method: sudo tasks: - name: deliver authorized_keys authorized_key: user: "{{ user }}" # 变量 key: "{{ l
2021-08-02 19:50:19
3043
原创 Ansible普通用户批量推送及更换密钥的简单介绍
playbook- 介绍playbooks是一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。值得注意的是playbook是通过YAML格式来进行描述定义的。核心元素Tasks:任务,由模板定义的操作列表Variables:变量Templates:模板,即使用模板
2021-07-31 19:53:59
545
原创 Ansible 之 Playbook详解
Playbook介绍Playbook与ad-hoc相比,是一种完全不同的运用ansible的方式,类似与saltstack的state状态文件。ad-hoc无法持久使用,playbook可以持久使用。playbook是由一个或多个play组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲,所谓的task无非是调用ansible的一个module。将多个play组织在一个playbook中,即可以让它们联合起来按事先编排的机制完成某
2021-07-31 19:17:59
1871
原创 nginx中的location匹配规则介绍 与 rewrite重写跳转
一.常见的Nginx正则表达式符号说明^匹配输入字符串的起始位置$匹配输入字符串的结束位置*匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”+匹配前面的字符一次或多次。如“ol+”能匹配“ol”及“oll”、“olll”,但不能匹配“o”?匹配前面的字符零次或一次,例如“do(es)?”能匹配“do”或者“does”,”?”等效于”{0,1}”.匹配除“\n”之外的任何单个字符,若要匹配包括“\n”在内的任意字符,请使用
2021-07-29 19:33:42
776
原创 Ansible之ansible.cfg配置文件详解
分为如下几类配置。(1)[defaults][defaults] # inventory = /etc/ansible/hosts # 定义Inventory # library = /usr/share/my_modules/ # 自定义lib库存放目录 # remote_tmp = $HOME/.ansible/tmp # 临时文件远程主机存放目录 # local_tmp = $HOME/.ansible/tmp # 临时文件本地存放
2021-06-02 15:42:30
517
原创 python 倒计时
#!/usr/bin/env python#python3 倒计时#range 参数#start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);#stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5#step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)#负数就是倒数import timefor times in range(12,
2021-03-16 15:32:48
1923
1
原创 python爬虫 关于requests.exceptions.ConnectionError 等问题
在爬虫中报如下的错误:requests.exceptions.ConnectionError: (‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’,))发现该错误是因为如下:1、http的连接数超过最大限制,默认的情况下连接是Keep-alive的,所以这就导致了服务器保持了太多连接而不能再新建连接。2、ip被封3、程序请求速度过快。解决办法如下:第一种方法:tr
2020-12-11 10:37:49
63236
5
原创 selenium.元素定位(find_element_by)
网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等)。Ps:学习元素定位方法前,建议先前往http://www.w3school.com.cn/html/index.asp 学习html前端基础知识,这个更加有利于定位。七种定位元素的方式1,通过id定位元素:find_element_by_id(“id_vaule”)2,通过name定位元素:find_element_by_name(“name_vaule”)3,通过tag_name定位元素:fin
2020-09-10 16:58:41
6806
原创 nginx 正向代理配置
http 代理server { listen 88; #监听端口 resolver 8.8.8.8; #dns解析地址 server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass https://$host$reque
2020-08-13 10:51:39
533
原创 Python 之re模块中,以什么开头以什么结尾取中间内容
import re假如有这样一段话list = "document.write(tit1_('<a href="./202005/t20200513_7387962.htm">5月份第1周畜产品和饲料集贸市场价格情况</a>')); "data = re.findall('htm">(.*)</a>',list)print(data)['5月份第1周畜产品和饲料集贸市场价格情况']...
2020-08-06 09:40:51
3225
原创 python3获取时间戳、秒数和日期时间的相互转换
1、获取时间戳代码如下:import timeimport datetimet = time.time()print (t) #原始时间数据print (int(t)) #秒级时间戳print (int(round(t * 1000))) #毫秒级时间戳nowTime = lambda:int(round(t * 1000))print (nowTime()); #毫秒级时间
2020-08-05 14:25:02
1294
原创 利用python脚本一键启动socks5代理
默认监听0.0.0.0:1080端口python2.7 socks5.py start监听0.0.0.0:8080端口并设置socks5代理的认证密码python2.7 socks5.py start --port=8080 --auth=admin:123456脚本地址
2020-07-16 11:20:44
1692
4
原创 LINUX彻底清除历史记录命令 及日志登录信息
1,临时清除history -c2,永久清除输入history -c 清除掉了,但是系统重启,敲history发现又出现了,怎么办呢用vim编辑器,编辑下profile文件,修改历史命令记录条数就搞定了编辑命令为vim /etc/profile查找/HISTSIZE修改HISTSIZE=0 或者想记录的条数就可以了注:没有的,在文件末尾添加就行。source 一下文件生效source /etc/profileps:还有一个地方会记录当前操作下用户下的历史命令就是这个 文件~/.b
2020-07-13 17:17:26
2582
原创 Ansible hosts文件写法
1、正常写法,name1为别名:[test1]name1 ansible_ssh_host=192.168.8.111 ansible_ssh_user="root" ansible_ssh_pass="123456" ansible_ssh_port=22name2 ansible_ssh_host=192.168.8.222 ansible_ssh_user="root" ansible_ssh_pass="123456" ansible_ssh_port=222、连续的IP写法,表示192.
2020-07-09 17:10:41
6095
原创 MySQL基于日志还原数据
简介Binlog日志,即二进制日志文件,用于记录用户对数据库操作的SQL语句信息,当发生数据误删除的时候我们可以通过binlog日志来还原已经删除的数据,还原数据的方法分为传统二进制文件还原数据和基于GTID的二进制文件还原数据传统二进制日志还原数据1.修改配置文件[root@localhost ~]# vi /etc/my.cnfserver-id=1log-bin=binlog#重启数据库服务[root@localhost ~]# systemctl restart mysqld2.操
2020-07-08 18:43:10
212
原创 linux 修改主机名
1.查看当前的主机名[root@center-2 ~]# hostnamecenter-2[root@center-2 ~]# hostnamectl Static hostname: localhost.localdomainTransient hostname: center-2 Icon name: computer-vm Chassis: vm Machine ID: c6cdeba96dae5d459d9ed7e60ec1123
2020-07-03 12:14:37
359
原创 Python中常见字符串去除空格的方法总结
1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.strip()'a b c'2:lstrip()方法,去除字符串开头的空格>>> a = " a b c ">>> a.lstrip()'a b c '3:rstrip()方法,去除字符串结尾的空格>>> a = " a b c ">>> a.rstrip()' a b c'
2020-06-15 19:53:15
595
原创 Linux shell获得脚本目录的上层目录
脚本目录的上层目录cd $(dirname "$0")DIR=$(dirname $(pwd))或者DIR=$(dirname "`pwd`")
2020-06-12 19:09:29
2859
原创 chrome 无法从该网站添加应用、扩展程序和用户脚本(绝对有效)
1.情景展示在安装chrome离线扩展程序时,报错信息如下:2.解决方案第一步:新建一个标签页,在地址栏输入:chrome://flags/#extensions-on-chrome-urls并按回车键 将值改为enable 重启chrome 第二步:启用开发者模式再次添加扩展程序就可以了。3.效果展示4.写在最后安装好之后,关闭开发者模式
2020-06-10 15:21:27
1912
4
原创 git 常用提交命令
git常使用的命令:一、新建代码库在当前目录新建一个Git代码库git init新建一个目录,将其初始化为Git代码库git init [project-name]下载一个项目和它的整个代码历史 git clone [url]二、配置显示当前的Git配置 git config --list编辑Git配置文件git config -e [--global]设置提交代码时的用户信息git config [--global] user.name "[name]"git co
2020-06-04 17:12:03
228
原创 使用iftop监控网卡实时流量
Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查看各客户端流量情况。iftop可以在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop.安装iftop:yum install -y iftop使用iftop监控网卡实时流量.1.监控某网卡iftop
2020-06-04 16:46:16
281
原创 shell 交互式自动发送命令
[root@svr5 ~]# vim expect_ssh.sh#!/bin/bashfor i in 10 11doexpect << EOFspawn ssh 172.25.0.$i #//创建交互式进程expect "password:" { send "123456\n" } #//自动发送密码expect "# { send "pwd > /tmp/$user.txt \n"
2020-06-04 16:26:54
736
原创 shell if判断和文件比较运算符
一、if的基本语法if [ command ];then 符合该条件执行的语句 elif [ command ];then 符合该条件执行的语句 else 符合该条件执行的语句fi二、数字条件,字符串条件,字符串为空if [ 1 -ne 1 ];then...fi这是指当1不等于1时执行then后的语句(1).整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -
2020-06-04 16:18:05
464
原创 解决 command ’gcc‘ failed with exit status 1 错误问题
在写Python代码的时候,需要用到psutil模块,需要安装。在安装psutil模块的时候出现的问题,重新安装了gcc等各种我能想到的,不过还是不行。网上说是其实安装一个对应的devel环境就可以了。报错如下: #include <Python.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1其实只要看include缺什么就行了,我缺的时P
2020-05-28 17:21:24
4443
原创 使用pyenv管理不同的Python版本
1.pyenvhttps://github.com/pyenv/pyenv2.pyenv安装https://github.com/pyenv/pyenv-installer根据https://github.com/pyenv/pyenv-installer/blob/master/README.rst 提示安装1)下载克隆 yum -y install git curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin
2020-05-25 20:31:14
310
原创 一个自动安装 python版本 脚本
可以自由选择版本安装,替换自己想要安装的版本,网址是国外的,安装失败,基本都是网络请求延时的原因,多试几遍# coding=utf-8import osimport sysif os.getuid() == 0: passelse: print('当前用户不root用户, 请以root用户执行脚本') sys.exit(1)version = raw_input('请输入你想安装的python版本(2.7/3.5):')if version == '2.7':
2020-05-25 15:15:34
368
原创 zabbix 邮件发送脚本
脚本存放在 zabbix 安装目录下 share/zabbix/alertscripts/进入alertscripts目录下# vimmail_163.py#!/usr/bin/python#coding:utf-8#zabbix监控报警发送邮件脚本import smtplibfrom email.mime.text import MIMETextimport sysmail_user = '邮箱'mail_pass = '授权密码' def send_mail(..
2020-05-25 15:01:44
333
原创 shell 数组和字典
#!/bin/bash#!/bin/bash#必须先声明declare -A dicdic=([key1]="value1" [key2]="value2" [key3]="value3")#打印指定key的valueecho ${dic["key1"]}#打印所有key值echo ${!dic[*]}#打印所有valueecho ${dic[*]}#遍历key值for key in $(echo ${!dic[*]})do echo "$key : ${
2020-05-12 12:18:22
345
原创 Robots协议
好的网络爬虫,首先需要遵守Robots协议。Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。在网站根目录下放一个robots.txt文本文件(如 https://www.taobao.com/robots.txt ),里面可以指定不同的网络爬...
2020-04-24 11:15:00
341
原创 python2和3版本 print输出到文件
**python2和3版本 print输出到文件**要将程序的输出送到一个文件中,需要在 print 语句后面使用 >> 指定一个文件,如下所示:principal = 1000 # 初始金额rate = 0.05 # 利率numyears = 5 ...
2020-04-24 11:01:55
2186
原创 squid反向代理
1、缓存服务器的原理 2、squid正向代理 3、squid透明代理 4、squid反向代理1、缓存服务器的原理(ftp/http)2、squid正向代理3、squid透明代理squidiptables redirectroute/SNAT1、在代理服务器上开启路由[root@VM_16_17_centos ~]# echo 1 > /proc/sys/net...
2019-06-04 20:00:27
973
原创 squid.conf 详解
squid常用命令:/usr/local/squid/sbin/squid -z 初始化缓存空间/usr/local/squid/sbin/squid 启动/usr/local/squid/sbin/squid -k shutdown 停止/usr/local/squid/sbin/squid -k reconfigure 重新载入配置文件/usr/local/squid/sbin/sq...
2019-06-04 19:51:35
2449
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人