Linux系统crond、rsync、打包备份数据操作实战

简介:

Linux系统crond、rsync、打包备份数据操作实战


前面介绍了系统中定时任务、rsync、打包等各种操作,同时也介绍了实际生产环境中的各类案例,今天我们结合这几种功能做一次实战(备份数据)

一:项目背景

某公司WEB服务器数据非常重要,但是如果硬件出现故障,数据就会丢失,人工备份比较费时费力,因些需要进行相关自动备份,并且要备份至指定的备份服务器上

具体备份内容有:

1、网站站点所有目录及相关文件

2、系统相关的配置文件

3、网站的访问日志文件

具体要求如下:(每天0点备份)

1、WEB服务器上的数据和备份服务器上的数据都存放在/backup/下(规范)

2、系统文件各类配置文件(定时任务、脚本等)

3、web服务器站点目录(/var/web/www)

4、web服务器日志目录(/app/logs)

5、web服务器数据只保留7天内的备份内容,备份服务器上保留180天内的数据

6、备份服务器上的备份要求按照服务器IP为目录保存,备份的数据需按时间做为文件名

二:需求分析

鉴于目前此种需求进行分析,可以得出操作思路为

1、备份服务器B配置rsync服务,做为服务端

2、web服务器配置为rsync客户端

3、web服务器上打包备份数据至指定的目录/backup/下

4、然后利用rsync服务推送备份数据至备份服务器上

5、以上配置完成后,可手工测试,如果测试成功,可将上述配置打包写成脚本

6、将脚本写入定时任务,周期性进行备份数据

三:项目结构图

wKiom1hH_QDBxkfLAACptUmJ7bA425.jpg-wh_50

四:备份服务器操作过程

1、服务器环境

[root@Backup ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@Backup ~]# uname -r

2.6.32-431.el6.x86_64

2、配置rsync操作过程

[root@Backup ~]# cat /etc/rsyncd.conf

cat: /etc/rsyncd.conf: No such file or directory

如果有此文件,配置前要进行备份,再进行相关配置

配置rsync服务

[root@Backup ~]# cat /etc/rsyncd.conf

##rsync config  start

##created by root 2016-08-08 15:00

##rsync.conf config start

uid = rsync

gid = rsync

use chroot = no

max connetctions = 200

timeout = 100

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[rsync]

path = /backup/

ignore errors

read only = false

list = false

hosts allow = 192.168.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

##rsync config  end

添加用户

[root@Backup ~]# useradd rsync -s /sbin/nologin -M

改变目录权限

[root@Client ~]# chown -R rsync.rsync /backup   

配置密码文件

[root@Backup ~]# echo "rsync_backup:rsync.conf">>/etc/rsync.password

[root@Backup ~]# cat /etc/rsync.password                            

rsync_backup:rsync.conf

改变密码文件权限

[root@Backup ~]# chmod 600 /etc/rsync.password 

[root@Backup ~]# ls -ld /etc/rsync.password 

-rw-------. 1 root root 24 Sep  9 13:06 /etc/rsync.password

格式化文件

[root@Backup ~]# dos2unix /etc/rsyncd.conf 

dos2unix: converting file /etc/rsyncd.conf to UNIX format ...

开启服务后台运行

[root@Backup ~]# rsync --daemon

[root@Backup ~]# netstat -lntup|grep rsync

tcp   0    0 0.0.0.0:873     0.0.0.0:*  LISTEN   2002/rsync          

tcp   0    0 :::873             :::*           LISTEN   2002/rsync  

将服务开启命令写入开机自启当中

[root@Backup ~]# echo  "##web backup by root 20160808">>/etc/rc.local;echo "/usr/bin/rsync --daemon">>/etc/rc.local

五:WEB服务器操作过程

1、服务器环境

[root@WEB ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@WEB ~]# uname -r

2.6.32-431.el6.x86_64

2、配置rsyncp客户端

[root@WEB ~]# echo "rsync.conf">>/etc/rsync.password

[root@WEB ~]# cat /etc/rsync.password    

rsync.conf

[root@WEB ~]# chmod 600 /etc/rsync.password

[root@WEB ~]# ls -ld /etc/rsync.password

-rw-------. 1 root root 11 Sep  8 06:25 /etc/rsync.password

3、创建相应的目录

[root@WEB /]# mkdir /backup/

[root@WEB /]# mkdir /var/web/www -p

相关文章
|
11天前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
83 28
|
13天前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
87 24
|
6天前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
54 19
|
16天前
|
安全 Shell Linux
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
67 2
Linux系统之su命令的基本使用
|
8天前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
59 17
|
Linux Shell Unix
带你读《Linux实战》之一:欢迎使用Linux
你正在期望学习管理Linux计算机吗?这是一个很好的选择。虽然Linux常常驻留于消费者的桌面计算机上,但它同时也是服务器领域的绝对主宰,特别是虚拟服务器和云服务器。如果你打算管理当前引人关注的服务器和网络体系架构,你将不得不围绕Linux的命令行展开学习。除了第1章之外,本书的每一章都包括一个或两个实际项目。鉴于第1章的内容主要用来填补你的Linux知识体系中可能存在的基础知识空白,因此其组织形式与其他章节有所不同。
|
28天前
|
Linux
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
154 56
|
5天前
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
42 15
|
18天前
|
监控 数据可视化 Java
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
57 13
|
1月前
|
监控 Linux
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
72 19
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等