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

时间:2023-09-21 21:38:02

网络设置,手动设置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参数:和手动参数,之后使配置生效,查看即可。

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

查看主机名: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等

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

显示内核中的硬件信息:

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

查看系统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自检。

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

  /etc/ 整个目录
 /home/ 整个目录
 /var/spool/mail/
 /var/spoll/{at|cron}/
 /boot/
 /root/
 如果自行安装过其他的软件,/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/。之后的执行就是差异备份。

备份策略举例:

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

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

 #!/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
# . WWW 的 CGI 程序 (如果有使用 CGI 程序的话)
cd /var/www
tar -jpc -f $basefile2 cgi-bin

每周的备份脚本:

 #!/bin/bash
# ====================================================================
# 用户参数输入位置:
# basedir=你用来储存此脚本所预计备份的数据之目录(请独立文件系统)
basedir=/backup/weekly <==您只要改这里就好了!
# ====================================================================
# 底下请不要修改了!用默认值即可!
PATH=/bin:/usr/bin:/sbin:/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
# . 将系统主要的服务之配置文件分别备份下来,同时也备份 /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.cnf,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

远程备份脚本:

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

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