liunx 远程数据异地备份怎么实现?

发布时间:2020-11-18编辑:脚本学堂
有关linux下实现远程数据异地备份的方法,shell脚本结合crontab实现远程数据的定时备份,需要的朋友参考下。

需求:
mysql需要每日备份,apache一周备份一次,mysql的慢日志查询一周备份一次并删除,apache的访问日志以及错误日志每日备份并删除。
其他的系统访问日志省略。

思路:在linux服务器上使用crontab每周日凌晨2:00执行周任务,每日2:30执行日任务。
把需要备份的数据打包成一个个.tar.gz文件,放在/bak/data目录下,当然打包之前先要清空/bak/data目录。
客户端,使用cuteftp实现每日自动连接服务器并下载数据的。

首先,建立一个/bak/scripts/day.sh文件,作为日备份的脚本
vi /bak/scripts/day.sh内容:
 

复制代码 代码示例:

#!/bin/bash
# =======================
# wayswang 每日备份
basedir=/bak/data/
# =======================
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
export LANG=C
#备份文件名
basefile_mysql=$basedir/mysql.$(date +%Y-%m-%d).tar.gz
#前一日的备份文件名
lastday_basefile_mysql=$basedir/mysql.$(date -d"1 day ago" +%Y-%m-%d).tar.gz
[ ! -d "$basedir" ] && mkdir $basedir
#先删除上一日的如果存在的备份文件
cd /bak/bak_data
   [ ! -d "$lastday_basefile_mysql" ] && rm $lastday_basefile_mysql

# 1. MysQL (/var/lib/mysql)
cd /var/lib
  tar zcvf  $basefile_mysql mysql
# 2.日志备份跟此例子相同,不再写出来

第二部分,周备份文件

vi /bak/scripts/week.sh内容:
 

复制代码 代码示例:

#!/bin/bash
# ====================================
# wayswang www.plcxue.com 周备份文件
basedir=/bak/data/
# ====================================
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
export LANG=C
#本次备份文件名
basefile_blogguy_cn=$basedir/blogguy.cn.$(date +%Y-%m-%d).tar.gz
#上周备份文件名
lastweek_basefile_blogguy_cn=$basedir/blogguy.cn.$(date -d"7 day ago"  +%Y-%m-%d).tar.gz
[ ! -d "$basedir" ] && mkdir $basedir
#先删除上一周的如果存在的备份文件
cd /bak/data
   [ ! -d "$lastweek_basefile_blogguy_cn" ] && rm $lastweek_basefile_blogguy_cn

#开始压缩备份
cd /var/www
  tar zcvf  $basefile_blogguy_cn blogguy.cn

把这两个脚本添加到crontab中自动运行

vi /etc/crontab在文件最后添加二行:
 

30 2 * * * root /bak/scripts/day.sh >>/bak/log/backupday.log 2 >&1
00 2 * * 0 root /bak/scripts/week.sh >>/bak/log/backupweek.log 2 >&1

解释:
00 2 * * 0 root /bak/scripts/week.sh >>/bak/log/backupweek.log 2 >&1代表的含义是每周星期天(0),2点(2:00),执行/bak/scripts/week.sh 脚本,并且把执行结果以追加的方式(>>)写入/bak/log/backupweek.log 文件,同时2 >&1表示,如果有错误信息(标准错误输出)也以追加的方式写入/bak/log/backupweek.log。

在远程的客户端如何实现自动联机下载:
远程备份方案的软件有很多选择,这里只推荐cuteftp。
使用cuteftp的站点备份功能或者自动项目功能等都可以很好的完成任务,在我的电脑上半年来除了硬盘满了意外基本上都完整的备份成功,出色的完成了任务。

在客户端操作之前,请确认你已经在服务器上安装了ftp服务器,并且开通了可以下载备份文件夹/bak/data的权限。

客户端的cuteftp的配置。

1、新建一个站点

liunx 远程数据异地备份1

2、连接上站点

liunx 远程数据异地备份2

3、看文件夹工具:同步文件夹和备份远程文件夹两个都可以,建议使用备份远程文件夹

liunx 远程数据异地备份3

4、分配配置

liunx 远程数据异地备份4

liunx 远程数据异地备份5

liunx 远程数据异地备份6

liunx 远程数据异地备份7

5、加入开机启动ftpte.exe,自动传输的程序

liunx 远程数据异地备份8

liunx 远程数据异地备份9

6、查看同步结果
liunx 远程数据异地备份10