zoukankan      html  css  js  c++  java
  • linux 第五部分 系统管理员 网络设定与备份

    linux 第五部分 系统管理员   网络设定与备份

    系统基本设置
     
    1.网络的设置  手动设置与dhcp自动获得     以及更改主机名称
    centos 7   对网卡编号的规则
    enol1  bios内建的网卡
    ens1  bios内建的pci-e界面的网卡
    enp2s0  pci-e界面的独立网卡   可能有多个插孔  会有s0   s1等等的编号
    eth0 上述的名称都不实用  就回到原来的网卡编号
    ifconfig -a   列出全部的网卡
    系统建议不要手动修改配置文件    利用nmcli指令来设置网络参数
     
    手动设置
    method manual   手动   
    ip
    netmask
    gateway
    DNS
    hostname
    nmcli connection show   网卡代号(eth0)
    nmcli  connection show
    比较重要的参数
    connection.autoconnect     开机是否启动
    ipv4.method
    ipv4.dns
    ipv4.addresses
    ipv4.gateway
     
    举例:  
    nmcli connection modify eth0
    > connection.autoconnect yes
    > ipv4.method manual
    >......
    nmcli connection up eth0
    nmcli connection show eth0
     
    自动获取参数
     nmcli connection modify eth0
    > ipv4.method auto
     
    修改主机名
    hostnamectl   [set-hostname    主机名]
    例子
    hostnamectl set-hostname    www.centos.vbird    此为主机名
     
    2.日期与时间的设置
    时区的显示与设置
    显示本地时间    utc时间   时区等信息
    timedatectl  [command]
    list-timezones        set-timezone        set-time       set-ntp
    时间的调整
    set-time    具体的时间
    用ntpdate手动网络校时
    ntpdate   ntp服务器
    hwclock -w    将校对后的时间写入bios
    3.语言环境的设定
    LANG与locale的指令能够查询目前的语系资料与变量      配置文件为/etc/locale.conf
    操作系统的语系与软件的语系可能是不一样的
    localectl   查询语系    操作系统
    locale 语系     当前bash
    举例:将locale改为en_US.utf8   在转换为图形界面
    localectl  set-locale LANG=en_US.utf8
    systemctl isolate multi-user.target
    systemctl isolate graphical.target
    防火墙的简单设置
    图形界面的设置
    执行时期  :暂时    永久两种情况
    zone 域:根据不同的环境所涉及的网络域
    firewalld 默认设计  可能会被用到的网络环境    除了public 还有其他的zone  未启动
    相关设置项目
    服务   端口 规则 接口(网卡)
     
     
    服务器硬件资料的收集
    1.系统内建的dmidecode解析硬件配置
    1 详细的系统资料   包含主板的型号与硬件的基础信息
    4 cpu的相关资料
    9 系统的相关插槽格式   包括pci     pci-e
    17 内存插槽规格
     
    可以通过此命令查询 主板是否支持某内存条的类型
    2.硬件信息的手机与分析
    kernel检测到的各项硬件装置   会被记录到/proc与/sys当中   包括/proc/cpuinfo      /proc/partitions     /proc/interrupts等
    显示硬件的简单指令
    gdisk       -l    列出分区
    dmesg 观察核心运行过程中显示的各项信息记录
    vmstat 分析系统目前的状态  cpu   ram    io
    lspci 列出pci接口的装置
    lsusb 列出usb端口的状态  与装置
    iostat 与vmstat类似  列出cpu与周边设备的io状态
     
     
    lspci    [-vvn]
    v 显示更多的pci接口的详细信息
    vv 比v更加详细
    n 直接观察pci的id而不是厂商名称
     
    举例:
    显示网卡的信息
    lspci -s 00:03.0 -vv           数字为id值
    s后面的数值去相关的文件当中找  /usr/share/hwdata/pci.ids  此为id与厂名的对应表
    pci.ids文件如果陈旧  需要线上更新   
    命令为:update-pciids
     
     
     
     
    lsusb
    了解usb装置
    lsusb [-t]
    t 树状显示usb端口的相关性
     
     
    iostat
     
    c cpu状态
    d 储存设备的状态
    k 默认为block   
    m 以mb来显示结果
    t 显示日期
     
    3.硬盘的健康状态
    smartd  服务检测ata与scsi界面的硬盘   被检测的硬盘必须支持smart协议
    smartctl    
    a 显示硬盘的 完整信息
    t 自我检测
    举例
    smartctl -t short /dev/sda    自我检测
    smartctl -a /dev/sda 显示信息
     
    备份要点
     
    角色不同  备份的任务也不同
    备份哪些文件 ;备份的媒介(光盘 ,硬盘  u盘  网络等);备份的方式;备份的频率;备份的工具(tar    cpio    dd   dump等)
     
    备份的文件:
    /etc/  系统配置目录    整个目录备份
    /home/ 用户家目录 环境变量等    整个目录
    /var/spool/mail/ 用户邮件
    /var/spool/{at|cron}/ 用户设定的定时任务
    /var/lib/ 库文件
    /boot/ 系统启动  如果更改过核心  就需要备份
    /root/ 根用户目录
    /usr/local/        /opt   自行安装的软件
     
    网络服务方面的文件
    软件本身的配置文件     例如/etc    和/usr/local  整个目录
    软件服务提供的资料    例如www  的资料   /var/www/整个目录以及系统的使用者家目录
    mariadb(替代mysql数据库)   /var/lib/mysql   的整个目录
    其他在linux 主机上面提供的服务之资料库文件
     
     
    推荐需要备份的目录   至少需要备份的目录
    /etc
    /home
    /root
    /var/spool/mail         /var/spool/cron/        /var/spool/at/
    /var/lib/
    不需要备份的目录
    /dev      设备文件
    /proc   /sys   /run    这些目录为系统运行过程中才有数据  所以不需要备份
    /mnt    /media       未挂载  不需要备份
    /tmp    暂存  文件目录   不需要备份
    备份用的媒体介质选择     
    nas设备自我容错   所以比较流行     小型的linux  server    提供硬件或者软件的磁盘阵列   可以架设RAID10或者RAID5,6等 的等级
    再简单点就是利用大容量的硬盘    多个 多次备份
     
    备份种类  频率与工具的选择
    1.完整的备份 ----累积备份     incremental backup
    节省时间的备份方式    出现问题   直接将完整备份拿出就能解决问题
    将/目录下的整个系统全部备份
    原则:系统在进行完第一次完整备份后,经过一段时间的运作,比较系统与备份文件之间的差异   仅仅备份有差异的文件而已,而第二次累积备份则与第一次累积备份的文件比较,也是仅仅备份有差异的信息而已。

      第二次的累积备份是当前系统与第一次累积备份的比较的差异资料  以此类推

    还原的方式:系统先还原最原始的完整备份   然后还原第一次的累积备份  以此类推
    使用的备份软件
    完整备份的软件:dd        cpio        xfsdump/xfsrestore等等
    dd可直接读取磁盘的sector   而不管文件系统    缺点是比较慢
    cpio   备份所有文件名     需要配合find或其他寻找文件名的指令才能够处理
    累积备份:xfsdump指令 
    举例:1.
    dd if=/dev/sda   of=/dev/sdb       备份整个磁盘分区
    2.
    find / -print | cpio -covB > /dev/st0    备份到磁带
    cpio -iduv  <  /dev/st0 还原
    3.假设/home为一个独立的文件系统     /backupdata也是一个独立的用来备份的系统    
    完整备份 :xfsdump -l 0 -L 'full' -M 'full'   -f  /backupdata/home.dump   /home
    累积备份:xfsdump -l l -L 'full-l' -M 'full-l' -f /backupdata/home.dumpl /home
    tar   也可以用来进行完整备份
    tar --exclude /proc    --exclude  /mnt  --exclude  /tmp   --exclude   /backupdata   -jcvp  -f  /backupdata/system.tar.bz2
     
     
    2.完整备份----差异备份   differential  backup
      差异备份与累积备份类似   区别在于  每一次备份都是与原始的完整备份相比较的结果    所以系统运行的时间越长    距离完整备份的时间越长    有差异的资料可能越大    
    与累积备份类似的工具  如果使用xfsdump来备份  每次备份的等级level都是level 1    
    也可以用rsync来进行镜像的备份    此命令可以对两个目录来进行镜像   
    rsync -av 来源目录  目标目录
     
    3.关键资料的备份
    1.关键资料备份   例如账号密码  邮件  网络服务等
    2.安装最新的linux distribution    
    3.将备份的关键资料还原回去
    备份可以用tar  配合date指令
     
    VBird的备份策略与scripts
    1.主机硬盘:使用一个独立的文件系统来存储备份资料   将此文件系统挂载到/backup当中
    2.每天进行:经常变动的数据
    3.每周进行:不常变动的数据  包括/home   /var    /etc    /boot   /usr/local等目录与特殊服务的目录
    4.自动处理:利用/etc/crontab来自动提供备份的进行
    5.异地备份:每月定期将文件从网络传输到另一部机器上面
     
     
    每周备份的脚本   centos7
    vi /backup/backupwk.sh
    #!/bin/bash
    #basedir=用来存储此脚本预计备份的资料的目录   独立文件系统
    basedir=/backup/weekly
     
    PATH=/bin:/usr/bin:/usr/sbin:export PATH
    export LANG=C
     
    设置要备份的服务的设定值    以及备份的目录
    named=$basedir/named
    postfixd=$basedir/postfix
    vsftpd=$basedir/vsftp
    sshd=$basedir/ssh
    sambad=$basedir/samba
    wwwd=$basedir/www
    others=$basedir/others
    userinfod=$basedir/userinfo
     
    判断目录是否存在,如果不存在则予以建立
    for dirs in $named $postfixd $vsftpd $sshd $sambad $wwwd $others $userinfod 
    do
    [! -d "$dirs"] && mkdir -p $dirs
    done
     
     
    1.将系统主要的服务的配置文件分别备份下来  同时也备份/etc全部
    cp -a /var/named/chroot/{etc,var} $named
    cp -a /etc/postfix /etc/dovecot.conf  $postfixd
    cp -a /etc/vsftpd/* $vsftpd
    cp -a /etc/ssh/* $sshd
    cp -a /etc/samba/* $sambad
    cp -a /etc/{my.conf,php.ini,httpd} $wwwd
    cd /var/lib
    tar -jpc -f $wwwd/mysql.tar.bz2 mysql
    cd /var/www
    tar -jpc -f $wwwd/html.tar.bz2 html cgi-bin
    cd /
    tar -jpc -f $others/etc.tar.bz2 etc
    cd /usr/
    tar -jpc -f $others/local.tar.bz2 local
     
    2.参数设置的备份
    cp -a /etc/{passwd,shadow,group} $userinfod
    cd /var/spool
    tar -jpc -f $userinfod/mail.tar.bz2 mail
    cd /
    tar -jpc -f $userinfod/home.tar.bz2 home
    cd /var/spool
    tar -jpc -f $userinfod/cron.tar.bz2  cron   at
     
    chmod   700   /backup/backupwk.sh
    /backup/backupwk.sh
     
    每日备份的脚本   centos7
     
    vi /backup/backupday.sh
     
    #!/bin/bash
    basedir=/backup/daily/
     
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:export PATH
    export LANG=C
    basefile1=$basedir/mysql.$(date +%Y-%m-%d).tar.bz2
    basefile2=$basedir/cgi-bin.$(date +%Y-%m-%d).tar.bz2
    [! -d "$basedir"] && mkdir $basedir
     
    #mysql的目录在/var/lib/mysql
    cd /var/lib
    tar -jpc -f $basefile1 mysql
    #wwwde的cgi程序
    cd /var/www
    tar -jpc -f $basefile2 cgi-bin
     
    chmod 700 /backup/backupday.sh
    /backup/backupday.sh
     
    备份周期设置  centos7
    vi /etc/crontab
    30 3 * * 0 root /backup/backupwk.sh
    30 2 * * * root /backup/backupday.sh
     
    远程备份的脚本
    了解ip地址和提供sshd服务
    利用rsync来上传备份的资料
    提供某账号使用权限 并且不需要密码即可登录
    vi  /backup/rsync.sh
    #!/bin/bash
    remotedir=/home/backup/
    basedir=/backup/weekly
    host=127.0.0.1 主机
    id=dmtsai 账号
     
     
    程序
    rsync -av -e ssh $basedir ${id}@${host}:${remotedir}
     
    rsync搭配ssh来进行备份
     
    还原过程
    如果是硬件问题   更换硬件  利用完全备份还原即可
     
    软件问题:
    1.先断网   最好将系统进行完整的备份到其他的媒体上  来查验
    2.检查登录日志文件    查找问题
    3.安装全新系统    最新发行版
    4.系统升级    与防火墙相关机制的配置
    5.根据2中提供的错误  在安装完成新系统后  将bug修复
    6.进行各个服务的相关的资料的回复
    7.正式上线提供服务  并且进行测试
  • 相关阅读:
    MySQL server version for the right syntax to use near ‘USING BTREE
    随笔
    [python]自问自答:python -m参数?
    [linux]查看linux下端口占用
    [linux]scp指令
    [编程题目]泥塑课
    How can I learn to program?
    [python]在场景中理解装饰器
    [前端]分享一个Bootstrap可视化布局的网站
    [python]python元类
  • 原文地址:https://www.cnblogs.com/dongguolei/p/7902593.html
Copyright © 2011-2022 走看看