别人的Linux私房菜(21)基础系统设置与备份策略

网络设置,手动设置IP,DHCP自动获取。

以太网协议开发出来的网卡ethN,N为数字。

CentOS7对网卡命名的规则:eno代表由主板BIOS内建立的网卡,ens1由主板BIOS内建的PCI-E界面的网卡

enp2s0 :代表PCI-E 界面的独立网,eth0 :如果上述的名称都不适用

目前系统上的网卡信息:nmcli connection show

显示对应eth0的网卡信息:nmcli connection show eth0

修改网卡设置:nmcli connection modify eth0

使配置文件生效:nmcli connection up eth0,并查看nmcli connection show eth0

自动获取ip参数:和手动参数,之后使配置生效,查看即可。

查看主机名:hostnamectl

在/etc/hostname中,修改主机名为:hostnamectl set-hostname www.centos.vbird

显示目前时区与时间信息:timedatectl

查看可用的时区:timedatectl list-timezones | grep -i asia

之后设置时区:timedatectl set-timezones "Asia/Shanghai"

设置时间:timedatectl set-time "2049-01-01 12:23"

使用ntpdate手动网络校时:ntpdate xxxx网址,hwclock将正确的时间写入到BIOS记录中。

查看系统语系:localectl

查看软件语系:locale

localectl set-locale LANG=en_US.utf8修改语系

防火墙设置使用firewall-cmd命令,使用图形界面也可设置。

应用程序,杂项,防火墙,输入密码,将配置改为永久,看public区域,选择服务如ftp,http,https等,

选择端口,添加222,555端口等,处理局域网的开放:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept'

服务器硬件数据收集:查看整个系统的硬件信息:dmidecode -t 1

读取内存相关信息:dmidecode -t 17

内核检测到的各项硬件设备记录在/proc 与/sys 当中了。包括 /proc/cpuinfo, /proc/partitions,/proc/interrupts等

一些时候由于驱动模块不正确也可能导致内核无法记录某些硬件设备。

 显示内核中的硬件信息:

查看系统PCI相关设备:lspci。查看设备的详细信息,如:lspci -s 02:03.0 -vv

 pci的标准ID与品牌对应表存在于/proc/bus/pci目录中,在线更新对应的文件:update-pciids

列出使用的usb状态: lsusb。列出cpu与存储设备的状态信息:iostat。每两秒检测一次,共三次:iostat -d 2 3 sda。

了解磁盘健康状态

 smart(self monitoring analysis and reporting technology system)服务,检测支持该协议的磁盘接口(ATA SCSI)的磁盘信息。

 显示sda信息:smartctl -a /dev/sda,信息中显示了是否支持smart,支持则显示磁盘自检记录等,通过smartctl -t short /dev/sda自检。

 系统备份时,主要备份的数据为:

1  /etc/ 整个目录
2  /home/ 整个目录
3  /var/spool/mail/
4  /var/spoll/{at|cron}/
5  /boot/
6  /root/
7  如果自行安装过其他的软件,/usr/local/ 或 /opt 最好备份,还有www的/var/www,/srv/www,Mariadb的/var/lib/mysql
8  /var/lib/

普通备份使用磁盘,然后是异地备份系统防止遗失,经费充足考虑外接NAS设备提供保障。

 系统备份方式有:完整备份,使用dd, cpio。

dd速度慢,将sda备份到sdb上:dd if=/dev/sda of=/dev/sdb

cpio配合find处理备份:find / -print | cpio -covB > /dev/st0

系统还原:cpio -iduv < /dev/st0

 tar 也可以用来进行完整备份

tar --exclude /proc --exclude /mnt --exclude /tmp --exclude /backupdata -jcvp -f /backupdata/system.tar.bz2 /

备份mariadb的数据库:

 tar -jpcvf mysql.`date +%Y-%m-%d`.tar.bz2 /var/lib/mysql

累积备份,按照等级备份,第一次完整备份xfsdump -l 0 -L 'full' -M 'full' -f /backupdata/home.dump /home

第二次累积第一次进行备份:xfsdump -l 1 -L 'full-1' -M 'full-1' -f /backupdata/home.dump1 /home

差异备份:每次备份都是和第一次备份的比较。相对于累积备份只有两级。

将/home进行备份,rsync -av /home /backupdata/。之后的执行就是差异备份。

备份策略举例:

计划任务中,每日的备份脚本举例:

 1 #!/bin/bash
 2 # =========================================================
 3 # 请输入,你想让备份数据放置到那个独立的目录去
 4 basedir=/backup/daily/ <==你只要改这里就可以了!
 5 # =========================================================
 6 PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
 7 export LANG=C
 8 basefile1=$basedir/mysql.$(date +%Y-%m-%d).tar.bz2
 9 basefile2=$basedir/cgi-bin.$(date +%Y-%m-%d).tar.bz2
10 [ ! -d "$basedir" ] && mkdir $basedir
11 # 1. MysQL (数据库目录在 /var/lib/mysql)
12 cd /var/lib
13 tar -jpc -f $basefile1 mysql
14 # 2. WWW 的 CGI 程序 (如果有使用 CGI 程序的话)
15 cd /var/www
16 tar -jpc -f $basefile2 cgi-bin
View Code

每周的备份脚本:

 1 #!/bin/bash
 2 # ====================================================================
 3 # 用户参数输入位置:
 4 # basedir=你用来储存此脚本所预计备份的数据之目录(请独立文件系统)
 5 basedir=/backup/weekly <==您只要改这里就好了!
 6 # ====================================================================
 7 # 底下请不要修改了!用默认值即可!
 8 PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
 9 export LANG=C
10 # 设定要备份的服务的配置文件,以及备份的目录
11 named=$basedir/named
12 postfixd=$basedir/postfix
13 vsftpd=$basedir/vsftp
14 sshd=$basedir/ssh
15 sambad=$basedir/samba
16 wwwd=$basedir/www
17 others=$basedir/others
18 userinfod=$basedir/userinfo
19 # 判断目录是否存在,若不存在则予以建立。
20 for dirs in $named $postfixd $vsftpd $sshd $sambad $wwwd $others $userinfod
21 do
22 [ ! -d "$dirs" ] && mkdir -p $dirs
23 done
24 # 1. 将系统主要的服务之配置文件分别备份下来,同时也备份 /etc 全部。
25 cp -a /var/named/chroot/{etc,var} $named
26 cp -a /etc/postfix /etc/dovecot.conf $postfixd
27 cp -a /etc/vsftpd/* $vsftpd
28 cp -a /etc/ssh/* $sshd
29 cp -a /etc/samba/* $sambad
30 cp -a /etc/{my.cnf,php.ini,httpd} $wwwd
31 cd /var/lib
32 tar -jpc -f $wwwd/mysql.tar.bz2 mysql
33 cd /var/www
34 tar -jpc -f $wwwd/html.tar.bz2 html cgi-bin
35 cd /
36 tar -jpc -f $others/etc.tar.bz2 etc
37 cd /usr/
38 tar -jpc -f $others/local.tar.bz2 local
39 # 2. 关于使用者参数方面
40 cp -a /etc/{passwd,shadow,group} $userinfod
41 cd /var/spool
42 tar -jpc -f $userinfod/mail.tar.bz2 mail
43 cd /
44 tar -jpc -f $userinfod/home.tar.bz2 home
45 cd /var/spool
46 tar -jpc -f $userinfod/cron.tar.bz2 cron at
View Code

远程备份脚本:

使用rsync 上传备份数据(需要获取账号使用权),互相将对方数据保存。呃,,

 

原文地址:https://www.cnblogs.com/bai2018/p/10783995.html