Linux网络之Bridge和Bond
网桥相当于一台虚拟交换机,你可以把自己的网卡绑定在虚拟交换机上,并把其他接口(比如虚拟机的网络)桥接到这个网卡上面来,相当于大家都是在一个内网里面。
创建网桥方法, 以Redhat系为例。
使用nmtui创建网桥
删除网卡配置文件可以到/etc/sysconfig/network-scripts/里面删除ifcfg-开头的配置
使用nmtui创建网桥,并将网卡设备绑定到网桥, 一般关闭生成树协议(STP)
检查/etc/sysconfig/network-scripts/里面有没有多余的配置文件,有的话需要删除以免冲突
网卡和网桥都需要开机自启动
使用配置文件创建网桥
生成uuid cat /proc/sys/kernel/random/uuid 或者 uuidgen
12345678910111213141516171819202122232425262728293031#!/bin/bashset -euf -o pipefailBRIDGE_UUID=$(uuidgen)BRIDGE_NAME=br13NET_UUID=$(uuidgen)NET_DEVICE ...
notepad++宏功能自动操作文档
notepad++是一款windows平台的文本编辑器, 比较轻量和功能强大宏功能类似于录像回放, 将自己的操作录制下来, 并进行重复执行, 解放双手
简单操作先看个例子, 我要删除所有的奇数行, 我的操作是: 点击录制, 光标放在第一行, 按下home键, 按住shift键,再按end键(选中整行), 按一下delete键, 为了方便重复执行, 再按两下↓, 停止录制
结合搜索功能比如这个文件有几千行, 我要在每个service里面添加一条数据
可以这样操作
Linux定时执行任务crontab
常用操作启动停止服务12systemctl start cronsystemctl stop cron
查看所有用户crontab1cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
配置全局配置crontab在/etc目录下面存在cron.hourly、cron.daily、cron.weekly、cron.monthly、cron.d五个目录, 这些相当于快捷方式, 直接将你的脚本扔进去就可以和crontab、cron.deny二个文件。
目录
作用
cron.daily
每天执行
cron.weekly
每周执行
cron.monthly
每月执行
cron.hourly
每小时执行
crontab
系统级任务, 在这里面调用了上面几个
用户配置文件直接使用crontab -e 编辑就行, -e使用的编辑器可以通过select-editor来指定或者使用crontab -u www-data -e 指定用户执行。
配置文件在 ...
Linux使用nologin用户执行命令
我们知道可以通过编辑/etc/passwd给某些用户设置shell为nologin或false可以阻止这些用户登录但某些时候需要特定的用户来执行命令,可以使用sudo或su来临时切换用户执行
使用susu -s 是指定shell,这里www用户默认shell是nologin这里指定使用/bin/bash, -c 后面接需要运行的命令
1su www -s /bin/bash -c "mkdir /tmp/111"
使用sudo使用www用户来执行mkdir /tmp/111
1sudo -u www mkdir /tmp/111
守护进程工具supervisor
安装123apt-get install supervisoryum install supervisorpip install supervisor
配置文件1234567891011121314[program:nginx]directory=/data/exec/nginx/sbin/command=/data/exec/nginx/sbin/nginx -g "daemon off;"numprocs=1autostart=trueautorestart=truestartretries=3user=rootredirect_stderr=truestdout_logfile_maxbytes=1024MBstdout_logfile_backups = 1stdout_logfile=/data/logs/nginx/nginx-bin.logenvironment=JAVA_HOME="xxxxxx",aaa="bbb"
这个directory用处: 程序路径还是要用绝对路径,但是后面加的参数就可以生效了。
...
Nginx开启基本http认证
Nginx 使用 ngx_http_auth_basic_module 模块支持 HTTP基本身份验证功能
nginx配置比如需要/api路径下的资源需要认证
1234location ^~ /api { auth_basic "authentication"; auth_basic_user_file conf.d/.htpasswd;}
配置密码文件.htpasswd两种方法二选一
使用htpasswd生成12345# Ubuntu or Debianapt install apache2-utils# Rhel or CentOS:yum install httpd-tools
生成密码, 密码文件为.htpasswd
1htpasswd -bcd .htpasswd username password
使用openssl生成
echo -n xxx不打印换行符
123echo -n 'username:' >> .htpasswdopenssl passwd -1 p ...
Linux性能分析
vmstat
间隔1s, 一共5次
1vmstat 1 5
每一列的说明
1234567891011121314151617181920212223242526Procs(进程):- r: 运行队列中进程数量- b: 等待IO的进程数量Memory(内存):- swpd: 使用虚拟内存大小- free: 可用内存大小- buff: 用作缓冲的内存大小- cache: 用作缓存的内存大小Swap:- si: 每秒从交换区写到内存的大小- so: 每秒写入交换区的内存大小- IO:(现在的Linux版本块的大小为1024bytes)- bi: 每秒读取的块数- bo: 每秒写入的块数system:- in: 每秒中断数,包括时钟中断- cs: 每秒上下文切换数CPU(以百分比表示)- us: 用户进程执行时间(user time)- sy: 系统进程执行时间(system time)- id: 空闲时间(包括IO等待时间)- wa: 等待IO时间
sar安装1yum install sysstat
查看物理网卡占用1sar -n DEV 1 5
sar -n 选项使用6个不同 ...
Linux虚拟内存swap
增加swap(文件)创建swap生成一个空文件(2048M)
12sudo dd if=/dev/zero of=/swapfile bs=1M count=2048sudo chmod 600 /swapfile
标记成swap文件
1sudo mkswap /swapfile
手动挂载swap12345挂载: sudo swapon /swapfile卸载: sudo swapoff /swapfile
开机自动挂载vim /etc/fstab添加一行
1/swapfile swap swap defaults 0 0
删除swap(文件)查看swap文件地址1swapon
手动关闭swap1sudo swapoff /swapfile
删除swap文件1sudo rm -f /swapfile
取消开机自动挂载vim /etc/fstab, 删除包含swapfile的一行
Python环境打包
为什么要打包公司有个远古项目, 用到的是fabric1.x, 只支持python2版本, 并且对环境要求比较苛刻, 而且代码已经无人维护, 这种情况下将包固定下来, 保证代码可以运行
安装pyenv环境
pyenv官网 https://github.com/pyenv/pyenv,pyenv和其他的虚拟环境不同之处在于它可以安装任意版本的python环境(源码编译)所以需要安装编译python的环境。
12yum install -y git zlib zlib-devel libffi-devel openssl openssl-devel readline-devel bzip2-devel sqlite-develcurl https://pyenv.run | bash
创建虚拟环境
安装python2.7.18的虚拟环境, 此环境只给fabric用, 所以就没有添加到环境变量, 以免影响其他python程序
123yum install sqlite-devel bzip2-devel readline-devel/root/.pyenv/bin/pyenv insta ...
Windows系统环境变量
环境变量简单来说就是一个键值对,比较常见的是path环境变量,定义的是全局程序存放的位置
Windows 查看环境变量 使用 echo %date%
用户环境变量注册表位置:HKEY_CURRENT_USER\Environment 用户环境变量只对当前用户起作用
系统环境变量注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
常用系统自带变量
变量
类似格式
%COMMONPROGRAMFILES%
C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)%
C:\Program Files (x86)\Common Files
%PROGRAMFILES%
C:\Program Files
%PROGRAMFILES(X86)%
C:\Program Files (x86)
%COMSPEC%
C:\Windows\System32\cmd.exe
%HOMEDRIVE%
C:
%H ...