别人的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自检。
系统备份时,主要备份的数据为:
/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/。之后的执行就是差异备份。
备份策略举例:

计划任务中,每日的备份脚本举例:
#!/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)基础系统设置与备份策略的更多相关文章
- 别人的Linux私房菜(20)启动流程、模块管理与Loader
系统启动时,首先加载BIOS,通过BOIS读取COMS的硬件信息,进行自我检测,取得第一个可启动的设备(多个根据设置有关). 读取并执行设备内的MBR启动引导程序,引导程序调用boot sector中 ...
- 别人的Linux私房菜(14)Linux账号管理和ACL权限设置
用户标识符UID.GID 用户的账号信息,主要是指UID对应.组和GID对应 检查系统中是否存在用户bin:id bin 登录shell验证账号密码的步骤:找到/etc/passwd核对是否存在账号, ...
- 别人的Linux私房菜(13)学习Shell脚本
CentOS6.x以前版本的系统服务启动接口在/etc/init.d/目录下,存放了脚本. Shell脚本因调用外部命令和bash 的一些默认工具,速度较慢,不适合处理大量运算. 执行方式有:直接命令 ...
- 别人的Linux私房菜(12)正则表达式与文件格式化处理
vi gerp awk sed支持正则表达式 cp ls不支持,只能使用bash本身的通配符 正则表达式分为基础正则表达式和拓展正则表达式 使用正则表达式注意语系的影响 http://cn.lin ...
- 鸟哥的Linux私房菜:基础学习篇 —— 第五章笔记
1.Linux一般将文件可存取的身份分为三个类 别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.其中 root 的权限最高. 2.在我们 ...
- 《鸟哥的Linux私房菜:基础学习篇》读书笔记之第一部分
一.如何学习Linux 1. Linux基础知识 (1) 计算机概论与硬件相关知识. (2) 先从Linux的安装与命令学起. (3) Linux操作系统的基础技能.如用户/用户组.权限.程序等概念. ...
- 别人的Linux私房菜(22)软件安装:源代码与Tarball
执行make,会在当前目录查找makefile文本文件(记录了源代码如何编译的详细信息). 内核相关的函数信息放置在/usr/lib./usr/lib64里. 在Tarball(一般为xxx.tar. ...
- 别人的Linux私房菜(19)认识与分析日志文件
日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...
- 别人的Linux私房菜(18)认识系统服务(daemon)
完成服务service的程序称为daemon.完成计划性的服务程序如crond是一个daemon. 早期的System V的init管理daemon操作中,系统内核首先调用init,然后init运行系 ...
随机推荐
- pod 更新慢解决方案
pod install --verbose --no-repo-update pod update --verbose --no-repo-update
- 记一次Monolog的BufferHandler使用
laravel中可以设置自定义的日记channel(config/logging中设置),按照laravel-china的一篇文章,把log按一定格式并且以批量的方式写入日志文件: https://l ...
- Calico搭建配置
Calico 是一个纯三层的协议,为 OpenStack 虚机和 Docker 容器提供多主机间通信.Calico 不使用重叠网络比如 flannel 和 libnetwork 重叠网络驱动, Cal ...
- 打开fiddler后无法访问网络问题
https://jingyan.baidu.com/article/f54ae2fc680be81e92b849ed.html 导入证书后,还有一步易遗漏操作: 再次运行fiddler,依次点击Too ...
- 第二次oo博客作业--多线程电梯
这次的系列作业是写一个电梯调度,主要目的是让我们熟悉多线程. 第一次作业是一个傻瓜电梯的调度问题,要求也很简单,即每次接一个人就行了.我只用了两个线程,一个是输入线程,一个是电梯线程,输入线程负责从标 ...
- centos6升级glibc-2.14没有报错,但是验证没有升级成功的问题解决
一.下载 cd /usr/local/srcwget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz 二.安装 tar -xzvf glibc-2.14. ...
- 寻找遗失的tags
现象:查询数据库,存在tags:{} 的字段,但是api查询时,不存在tags字段 日志定位Sample的init方法中对resource_metadata的扁平处理: 3.对应方法分析 在ceilo ...
- 安装mysql数据库出现错误"系统找不到指定文件"
http://blog.csdn.net/Marvel__Dead/article/details/63262641?locationNum=4&fps=1
- Servlet第二篇(介绍、ServletConfig;ServletContext)
什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...
- pm2管理node
一般直接npm start起的退出命令行就没了,node后台管理工具pm2目前比较流行. npm install -g pm2 pm2 list pm2 start bin/www --name de ...