zoukankan      html  css  js  c++  java
  • 进程、系统工具、安全、虚拟环境、mysql、

    补充内容

    1.crontab的日志

    /var/log/cron

    2.命令最好写绝对路径

    3.ping

     -c 指定次数
     ICMP 协议    ---> 自行百度

    进程

    查看进程 ps

      ps [options]

    支持的命令格式

    • unix格式:-h -e

    • BSD格式:a,x,u

    • GNU长格式:--help

    选项

     [root@s22 ~]#ps
        PID TTY         TIME CMD
      28019 pts/4    00:00:00 ps
      83674 pts/4    00:00:00 bash
     pid   终端       当前命令占用cpu的时间 命令
     a 所有的终端
     x 包括不连接终端的终端
     u 显示进程详细信息
     f 显示进程树
     k 指定排序方式 ,默认是递增,如果想递减,则需要在排序的字段上加上-
     o 指定显示的属性,不能跟u同时使用
     L 获取支持的选项,
     -L 显示线程
     -e 相当于 ax
     -f 显示详细信息,相当于u
     -F 显示更详细信息
     -H 显示树状结构
     -U username 获取指定的用户信息
     常用选项: aux -ef -eFH

    ps输出属性

    VSZ 虚拟内存(程序认为可以获取到的)

    RSS 实际内存

    psr cpu编号

    STAT 状态

    %cpu cpu的占用率

    %mem 内存的占用率

    根据名称来查询进程

     pidof name
     [root@s22 ~]#pidof python
     1169 825

    系统工具

    uptime

     [root@s22 ~]#uptime 
      09:17:40 up 1 day, 22:19,  5 users, load average: 2.14, 1.59, 0.84
      当前时间   当前服务器运行时长 当前的在线用户数   cpu的负载 1分钟 5分钟 15分钟
      cpu平均负载:在特定时间之内cpu运行的平均进程数,不超过cpu核心数的2倍认为为良好

    top

    首部信息

    • uptime信息 l 显示与隐藏

    • tasks :进程总数,运行,睡眠数,停止数,僵尸进程 t

    • cpu信息: %Cpu(s): 0.3 us, 4.6 sy, 0.0 ni, 95.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

      用户空间 系统空间 nice值 空闲 等待 硬中断 软中断 虚拟机偷走时间

    • 内存信息 m

    • cpu分别显示 1(数字)

    排序:

    模式是cpu的占用率 P

    M:内存占用率

    T: cpu的占用时间

    退出:q

    修改刷新频率:s,默认是3秒

    杀死进程:k,默认是第一个

    W 保存文件

    选项:

    -d 刷新时间

    -b 显示所有的信息

    -n # 指定刷新#次后退出

    htop

    • epel源

    性能分析

    free

     -b 字节
     -k kb
     -m mb
     -g gb
     -h 人类易读方式
     -c # 刷新次数

    vmstat

     vmstat [options] [delay [count]]
     [root@s22 ~]#vmstat 1 3 每秒刷新一次,刷新3次
     procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
      r b   swpd   free   buff cache   si   so   bi   bo   in   cs us sy id wa st
      1  0  37028 162708      0 808588    0    0     8     6   34   34  0  2 97  0  0
      0  0  37028 162560      0 808588    0    0     0     0 4535 6893  1  5 95  0  0
      0  0  37028 162544      0 808588    0    0     0     0 4463 6772  0  5 95  0  0
     procs:
     r:正在运行的进程个数
     b:阻塞队列的长度
     memory:
     swap: 虚拟内容大小
     free: 空闲物理内存的大小
     buff:用于buff的大小
     cache:用户cache的大小
     swap:
     si:从磁盘交换到内存的数据速率(kb/s)
     so: 从内存交换到磁盘的数据速率(kb/s)
     io:
     bi: 从磁盘读取到系统的速率(kb/s)
     bo: 从系统写入到磁盘的速率(kb/s)
     system:
     in:中断频率
     cs:进程之前切换的频率
     cpu:
     us
     sy
     id
     wa
     st

    iostat

    查看磁盘读写速度

    iostat 1 10

    dstat 查看所有

     -c cpu
     -d 硬盘
     -m 内存
     -n 网络
     -p 进程
     -r io请求
     -s swap
     --top-cpu 显示占用cpu最多的进程
     --top-io 显示占用io最多的进程
     --top-mem 显示占用内存最多的进程
     --tcp 显示tcp的信息
     --udp 显示udp的信息

    iftop 显示网卡的流量

    进程的管理工具

    kill

    向进程发送信号,实现对进程的管理,每个信号,对应不同的值,对应不同的含义,不区分大小写

    查询可用信号:kill -l

    常用信号:

    1) sighub 不需要关闭程序,重新加载配置文件

    2) sigint 终止进程,相当于ctrl+c

    9) sigkill 强制杀死进程

    15) sigterm 终止正在运行的进程

    18)sigcont 继续运行

    19)sigstop 后台休眠

    按照pid: kill-n pid

    按照名称:killall -n name

    按照名称:pkill -n name

    作业管理

    • 前台作业:一直占用终端的作业

    • 后台作业:不占用当前的终端

    让作业运行于后台:

    • ctrl+z 对于启动中

    • command & 也会输出到终端

    脱离终端:

    • nohup command &>/dev/null &

    • screen

       -list 查看所有的screen窗口
       -r 进入

    安全

    防火墙

    • 绿盟

    • 深信服

    • 启明星辰

    • 飞塔

    • 思科

    • 华为

    • 华三

     4表5链
     iptables -L 查看 防火墙策略
     iptables -F 清空 防火墙
     systemctl disable firewalld 开机并启动
     systemctl stop firewalled

    selinux

    美国国家安全局

    • 配置文件 /etc/selinux/config

    • SELINUX=disabled

    • setenforce 0 临时生效

    • getenforce 查看selinux的状态

    rhcea

    rhce

    rhca

    ccnp

    ccie

    ccia

    ocp

    编译后的软件如果想删除,直接删除编译生成到目录就可以

    虚拟环境

    安装

     pip3 install virtualenv -i https://pypi.douban.com/simple

    创建虚拟环境

     virtualenv --no-site-packages django11 
    或virtualenv django12
     --no-site-packages 创建一个全新的python环境
     --python 指定以哪个python来创建虚拟环境

    进入虚拟环境

     source envdir/bin/activate 
     source django11/bin/activate

    退出虚拟环境

     deactivate

    确保环境一致

     在windows上执行如下命令:
     将windows上安装的包做快照
     pip freeze > requirement.txt
     将requirement.txt发送到linux上
     切换虚拟机
     pip install -r requirement.txt -i https://pypi.douban.com/simple

    virtualenvwrapper

    为了解决虚拟环境管理的问题,因为虚拟环境可以在任何目录下创建

     1. 安装
     pip3 install virtualenvwrapper -i https://pypi.douban.com/simple
     2.修改文件
     vim ~/.bashrc
     export WORKON_HOME=/envdir #设置virtualenv的统一管理目录  
     export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'#添加virtualenvwrapper的参数,生成干净隔绝的环境
     export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3#指定python编辑器      
     source /opt/python36/bin/virtualenvwrapper.sh#安装脚本
     3. 加载~/.bashrc
     source ~/.bashrc
     4.创建环境
     mkvirtualenv django11 创建并切换
     5.进入虚拟环境
     workon name
     6.切换到当前虚拟环境的文件夹
     cdvirtualenv
     7.切换到当前虚拟环境的第三方包的文件夹
     cdsitepackages
     8.退出
     deactivate
     9.列出当前管理的虚拟环境
     lsvirtualenv
     10.列出当前虚拟环境的第三方包
     lssitepackages
     11.删除虚拟环境
     rmvirtualenv 必须要退出才能删除

    mysql

    mariadb 是mysql的分支

    可以直接在官方网站下载

    下载

     wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar

    解压

     tar xf MySQL-5.6.44-1.el7.x86_64.rpm-bundle.tar

    安装

     yum install -y *.rpm
     重新安装yum reinstall -y *.rpm

    默认安装位置:/var/lib/mysql

    报错信息:

     2019-08-30T11:18:22.976635Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test
     2019-08-30T11:18:22.976687Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.27) starting as process 2788 ...
     2019-08-30T11:18:22.980289Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test
     2019-08-30T11:18:22.980338Z 0 [Warning] Can't create test file /mydata/mysql/localhost.lower-test
     解决办法:setenforce 0
     

    重置密码

     默认密码:
     grep 'pass' /var/log/mysqld.log
     mysql_secure_installation
     输入root密码
     是否要修改密码
     是否要修改root密码(大小写、数字、特殊字符)
     是否要删除匿名用户
     是否禁止root远程登录
     是否要删除test数据库
     是否要刷新表的权限

    密码校验规则

     设置密码的校验规则
     mysql> set global validate_password_policy=0;
     0 校验级别最低,只校验密码的长度,长度可以设定
     1 必须包括大写字母、小写字母、数字、特殊字符
     2 必须满足上面两条,并追加,对于密码中任意连续的4个(或者4个以上) 字符不能是字典中的单词
     mysql> set global validate_password_length=3; 修改密码的最短长度

    创建用户

     create user 'username'@'ip' identified by 'password';
     全部ip的话则是%

    查看权限

     show grants;

    用户授权

     mysql> grant all on *.* to 'root'@'%' identified by '1234';
     Query OK, 0 rows affected, 1 warning (0.00 sec)
     
     mysql> flush privileges;
     Query OK, 0 rows affected (0.00 sec)

    mysql主从

    主服务器上配置如下

     server-id=1 设置id
     log-bin=/mydata/log/master-bin 启动binlog日志
     sync_binlog = 1 确保主从复制事务安全

    主服务器执行如下sql

     mysql> grant replication slave on *.* to 'slave'@'192.168.21.131' identified by '1234';
     Query OK, 0 rows affected, 1 warning (0.00 sec)
     mysql> flush privileges;
     Query OK, 0 rows affected (0.01 sec)
     show master statusG

    从服务配置如下:

     server-id =12
     relay_log =/mydata/log/slave-log
     sync_binlog = 1
     read-only=ON

    从服务器执行如下sql

     
     CHANGE MASTER TO
       MASTER_HOST='master2.example.com',
       MASTER_USER='replication',
       MASTER_PASSWORD='password',
       MASTER_PORT=3306,
       MASTER_LOG_FILE='master2-bin.001',
       MASTER_LOG_POS=4,
       MASTER_CONNECT_RETRY=10; #监控主服务器的时间
     # 连接主库
     change master to master_host='192.168.21.128',master_user='slave',master_password='1234';
     # 启动进程
     start slave;
     # 查看状态
     show slave statusG

     

    问题:

     Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
     解决办法:
     rm -rf /mydata/mysql/auto.cnf
     启动mysql:systemctl restart mysqld

    mysql备份与恢复

  • 相关阅读:
    再谈算法复杂度
    Android 升级ADT到22第三方Jar包导致的ClassNotFoundException和NoClassDefFoundError异常解决
    spring security 3.1 实现权限控制
    Mysql又一次整理笔记--woods备忘
    从头认识Spring-3.8 简单的AOP日志实现(注解版)-扩展添加检查订单功能,以便记录并检測输入的參数
    Knockout JS 演示样例
    gulp初探
    [android] 线性布局和布局的组合
    [android] 相对布局和单位简介
    [android] 短信发送器
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12402233.html
Copyright © 2011-2022 走看看