别人的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运行系 ...
随机推荐
- 容器——list(双向链表)
做了一道list可以解决的题,才发现list多么的好 转自https://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.html 1 ...
- 项目管理第一篇(PROJECT MANAGEMENT A Systems Approach to Planning, Scheduling, and Controlling)
请把梦想和野心带上,这是我哥对我说的. 几年下来,人浑浑噩噩,梦想和野心像锋利的石头在水中慢慢被磨平,今天就再次记住,不要让焦虑和失望伴随着人生和家庭. 这是H A R O L D K E R Z N ...
- Java & C# BCD编码与十进制转换
using System;using System.Collections.Generic;using System.Text; namespace Base{ public class BCDHel ...
- 【转】未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
“/xxxxx”应用程序中的服务器错误. ------------------------------------------------------------------------------- ...
- 关于d3.js 将一个element 拖拽到另一个element的响应事件
rt 正在做机柜可视化, 一个需求是能拖拽左侧列表的设备名称, 拖到右侧42U机柜中,并将设备图片放置在对应机柜位置上. 开始的时候一切都很顺利,点击左侧设备名称,添加一个g容器,将设备名称作为tex ...
- 阿里云 ss!!!
一.shadowsocks简介(以下来自wiki百科) shadowsocks是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证.GPL.MIT许可证等多种自由软件许可协议开 ...
- 关于感受野 (Receptive field) 你该知道的事
Receptive field 可中译为“感受野”,是卷积神经网络中非常重要的概念之一. 我个人最早看到这个词的描述是在 2012 年 Krizhevsky 的 paper 中就有提到过,当时是各种不 ...
- 深度学习项目——基于循环神经网络(RNN)的智能聊天机器人系统
基于循环神经网络(RNN)的智能聊天机器人系统 本设计研究智能聊天机器人技术,基于循环神经网络构建了一套智能聊天机器人系统,系统将由以下几个部分构成:制作问答聊天数据集.RNN神经网络搭建.seq2s ...
- Python开发【第十一篇】:Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 1.原生模块pymsql. 2.ORM框架SQLAchemy. pymsql pymsql是Python中操作MySQL的模块,其使用方法和MyS ...
- CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动
错误提示: HiveServer2 该角色的进程已退出.该角色的预期状态为已启动 解决办法:出现此问题应该是内存不足造成的,重启相应的组件即可.比如Hive报错,重启Hive,YARN报错,重启YAR ...