wordpress 后台底部修改,seo权重优化,striking wordpress,济南市网站推广公司目录
一.故事背景
二.SSH带外管理
1.概述
2. 配置文件
3.命令解析
4.登录方式配置
a.用户名密码登录
b.公钥验证登录
5.实操生成密钥对
三.Rsyncsersync实现数据实时同步
1.rsync概述
2.rsync运行原理
3.rsync部署
4.备份测试
配置备份目录
5.rsyncsersync 实现…目录
一.故事背景
二.SSH带外管理
1.概述
2. 配置文件
3.命令解析
4.登录方式配置
a.用户名密码登录
b.公钥验证登录
5.实操生成密钥对
三.Rsyncsersync实现数据实时同步
1.rsync概述
2.rsync运行原理
3.rsync部署
4.备份测试
配置备份目录
5.rsyncsersync 实现数据实时同步
1 数据同步原理
2 部署rsyncsersync
6.脚本编写
7.总结 一.故事背景
网络服务最后的内容一个是SSH外带管理一个是Rsyncsersync实现数据实时同步其中用的最多的是后者也要写一个相关脚本
二.SSH带外管理
1.概述
ssh服务一种远程管理连接工具在CentOS7系统中默认安装并开机自启的。
SSHSecure Shell是一种安全通道协议主要用来实现字符界面的远程登录远程复制等功能。
监听tcp的22号端口。软件包名称openssh
配置文件目录/etc/sshsshd_config 服务端配置文件ssh_config 客户端配置文件。
客户端提供ssh、scp、sftp命令
服务端提供sftp服务、ssh服务
2. 配置文件
服务端配置文件 sshd_config 部分内容解析 Port 22 #监听端口 AddressFamily any #ip地址版本 ListenAddress 0.0.0.0 #监听地址ipv4 ListenAddress :: #监听地址ipv6 PermitRootLogin yes #是否允许root用户登录 MaxAuthTries 6 #重新连接最大次数 MaxSessions 10 #建立不同用户的会话的最大个数 PubkeyAuthentication yes #是否启用公钥对验证登录 AuthorizedKeysFile .ssh/authorized_keys #存储客户端公钥信息的文件 PasswordAuthentication yes #是否启用密码验证登录 PermitEmptyPasswords no #是否允许空密码登录 UsePAM yes #启用系统用户及密码进行验证登录 UseDNS no #是否启用ssh内部的解析会影响连接速度 客户端配置文件 ssh_config设置ssh命令连接的关键配置 Port 22 #设置ssh命令连接的默认端口 3.命令解析 远程登录命令 ssh [选项] [username]ssh服务器的监听IP地址或者主机名(使用主机名时保证客户端能够解析主机名) -p port 指定连接服务器的监听端口 远程拷贝命令 scp 本机的文件路径 [username]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 scp [username]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 本机的文件路径 sftp服务登录命令 sftp [选项] [username]ssh服务器的监听IP地址或者主机名(使用主机名时保证客户端能够解析主机名) 4.登录方式配置
a.用户名密码登录
默认方式直接输入登录
b.公钥验证登录
概念解析对称加密双方采用相同的秘钥安全性较低非对称加密双方采用不同的秘钥安全性较高公钥大家都可以知道的秘钥。私钥只有自己知道的秘钥。能够证明自己的身份信息
数据加密
使用对端的公钥加密接收端收到数据后使用自己的私钥解密。作用是保证数据完整性。
数字签名
私用自己的私钥加密接收端收到数据后使用发送端的公钥解密。作用是保证发送者的身份唯一性。
ssh客户端生成密钥对 生成密钥对的命令 ssh-keygen 默认是交互式 常用选项 -t 指定秘钥算法 -N 指定秘钥短语 -f 指定秘钥存储路径 非交互生成密钥对 ssh-keygen -t rsa -N -f ~/.ssh/id_rsa #id_rsa: 私钥id_rsa.pub 公钥 拷贝公钥命令ssh-copy-id 5.实操生成密钥对
先创建一个账户阿白设置密码 生成密钥ssh-keygen交互式生成按三次回车 非交互式生成ssh-keygen -t rsa -N -f ~/.ssh/id_rsa 将密钥复制给其他用户 此时可以直接使用阿白登录阿绿账户免密登录 三.Rsyncsersync实现数据实时同步
1.rsync概述
Rsync(Remote Sync)是Linux系统下的数据镜像备份工具。该工具可以实现远程同步、不同主机之间的同步也能实现全量备份和增量备份保持数据链接和权限并采用优化的同步算法传输前对数据进行压缩故该工具非常适合架构集中式备份或异地备份。也支持本地复制或与ssh、rsync同步。
官网地址https://rsync.samba.org/
优点 scp无法备份大量数据而rsync备份、统计、比较一起进行。 可以备份整个目录树和文件系统并保持文件原来的权限、时间、软硬链接。 安装较容易无需特殊权限。 同步快速首次同步完全备份再次同步增量备份。 可以使用scp和ssh等方式传输备份文件 支持匿名传输 选择性保持符号链接、硬链接、文件属性、权限、时间等 传输速度快压缩再传输、解压再使用减少带宽。 备份分类 完全备份所有文件进行备份 差异备份备份自上次完全备份以来所有的修改 增量备份备份自上次备份依赖所作的修改
2.rsync运行原理
rsync采用C/S模式即点到点的传输。通过xinetd服务监听873端口再让xinetd服务下的rsync服务作出响应。
源主机需要同步数据的服务器
目标主机存放服务器同步数据的主机
数据同步方式push 和 pull 推push主动同步把数据发送给目标主机。服务器开销大适合后端服务器较少的情况。【服务器备份推给rsync客户端存放主动模式】
目的主机配置为 rsync 服务端源主机周期性的使用 rsync 命令把要同步的目录推过去。 拉pull所有客户端主机去服务器上面拉数据导致数据传输缓慢。【rsync客户端去服务器上拉数据存放到客户端上被动模式】
源主机配置为 rsync 服务端目的主机周期性的使用 rsync 命令把要同步的目录拉过来。 3.rsync部署
查看是否监听873端口号
配置文件/etc/rsyncd.conf
参数作用-a–archive archive mode权限保存模式【递归、保持属性】-r递归处理-p保留文件原有属性-t保留文件原有时间-g保留属组-o保留档案所有者-D保留device咨询-l复制所有的连接-z压缩传输-H保留硬链接文件-A保留文件的ACL属性-P–progress-–version输出rsync版本信息-v显示输出过程-u仅进行更新–-port指定端口号默认873–-delete删除那些目标位置有的文件而备份源没有的文件最大程度的保持一致。–-password-file指定密码文件–-bwlimit限制I/O带宽–-filter需要过滤的文件–-exclude需要过滤的文件–-progress显示备份过程–avz常用保留权限、显示同步过程、压缩传输
4.备份测试
配置备份目录 服务器sourcePC 192.168.71.151 需要进行数据备份的主机 客户端targetPC 192.168.71.149 备份存储的主机 编写客户端/etc/rsyncd.conf文件并且创建目录/door/backup 给密码文件加上权限不然会报错 然后进行跨机备份输入密码123456
成功接收两个文件 此时再创建两个文件后重新备份 此时将会删除那些目标位置有的文件而备份源没有的文件最大程度的保持一致。
若是拉取数据
cat /etc/rsync.passwd
123456
chmod 600 /etc/rsync.passwd
rsync -avz /data rsyncuser192.168.71.149::data --password-file/etc/rsync.passwd
5.rsyncsersync 实现数据实时同步
1 数据同步原理
1、为什么要是用rsyncsersync
sersync是基于inotify开发的可以记录目录中发生变化的内容具体到某个文件或者目录在使用rsync同步的时候只同步发生变化的文件或者目录。【增量同步】
2、rsyncinotify-tools 与 rsyncsersync 架构的区别
①inotify-tools只能记录目录发生了变化但是不能具体到某个文件或者目录。
②rsync同步不清楚哪些文件或目录发生了变化就会整个目录都同步效率低。
3、同步过程
①源服务器上开启sersync记录指定路径的文件系统变化情况。
②源服务器上使用rsync命令把变化的数据同步到目标服务器上。
③源服务器上配置sersync服务目标服务器安装rsync服务。
2 部署rsyncsersync
sersync服务端【同步服务器】192.168.71.151
rsync客户端【存放备份目标服务器】192.168.71.149
由于sersync只能监控到差异变化同步还是需要rsync去做所以先确保rsync运行正常。可以测试一遍看能否做完全同步。 修改文件内容为
然后启动服务因为在当前目录直接./ 在一边创建文件一边完成实时监控
6.脚本编写
先在目标主机编写配置脚本
#!/bin/bash
systemctl status rsyncd /dev/null
if [ $? -ne 0 ];then
systemctl start rsyncd
firead -p 请输入ip地址 ip
read -p 请输入创建的文件名称 file
read -p 请输入跨机使用的密码 passwd
maskecho $(echo $ip | cut -d. -f1,2,3).0/24
echo port873
address $ip
uid root
gid root
use chroot yes
max connections 4
pid file /var/run/rsyncd.pid
lock file /var/run/rsync.lock
log file /var/log/rsyncd.log
motd file /etc/rsyncd.motd
hosts allow $mask
[$file]
path /$file/backup
comment bakcup data
read only false
list yes
auth users rsyncuser
secrets file /etc/rsync.passwd/etc/rsyncd.conf
touch /etc/rsync.passwd
chmod 600 /etc/rsync.passwd
echo rsyncuser:$passwd/etc/rsync.passwd
mkdir -p /$file/backup
echo Welcome to Backup server/etc/rsyncd.motdsystemctl restart rsyncd
运行后创建成功 再在源主机编写一个简单的备份脚本
#!/bin/bash
systemctl status rsyncd /dev/null
if [ $? -ne 0 ];then
systemctl start rsyncd
firead -p 请输入要备份的目录(格式/目录) dir
read -p 请输入要备份的目标主机ip ip
read -p 请输入目标地址创建的文件名称 nameread -p 是否选择最大程度保持一直y/n: choose
if [ $choose n ];then
rsync -avz $dir rsyncuser$ip::$name
else
rsync -avz --delete $dir rsyncuser$ip::$name
fi 然后输入信息后运行脚本在目标主机上可以看到备份成功 7.总结 rsync可以进行数据的同步可以使用推和拉两种方式。推即源主机推数据到目标主机拉即目标主机从源主机上拉数据。 push服务器向客户端推送数据要在目标主机上配置一个共享目录在服务端上使用rsync命令推送数据给目标主机。 pull客户端向服务器拉去数据需要把服务器上的同步目录配置成一个共享目录然后客户端去这个共享目录上拉去数据。 仅使用rsync同步数据不会记录数据的变化每次同步都是同步整个目录不适合大量数据的同步。 结合使用rsyncsersyncsersync负责监控源主机上同步目录的数据变化rsync负责同步变化的部分极大地提高了同步的效率。 伴随本次内容的结束网络服务也是告一段落来不及悲伤即将向我们走来的是Nginx