怎样轻松将服务器文件备份至OSS

80次阅读
没有评论

共计 3873 个字符,预计需要花费 10 分钟才能阅读完成。

今天就跟大家聊聊有关怎样轻松将服务器文件备份至 OSS,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

介绍

教程的主角是 alicloud-duplicity,它是在 duplicity 的基础上支持 OSS 存储的开源备份工具,alicloud-duplicity 支持 duplicity 的所有命令和参数。duplicity 是一款开源的备份工具,使用 librsync 支持增量备份,节约本地存储空间,同时使用 GnuPG 加密数据。duplicity 能将数据轻松的备份到本地、共享存储和云存储等。

使用 alicloud-duplicity 可以实现全量备份和增量备份并对其进行加密并且上传至 OSS。

要求 收获

需要使用到的产品:

任意(服务器 /ECS/ 轻量应用服务器(安装任意 Linux 发行版镜像)
2. 阿里云 OSS 产品

安装

推荐操作系统:Ubuntu、Debian

一、安装系统依赖

apt update   apt install librsync-dev python-pip python-dev git -y

二、安装 py 依赖

pip install oss2 fasteners configparser setuptools

三、安装程序

mkdir -p /root/src/
cd /root/src/
git clone https://github.com/aliyun/alicloud-duplicity.git
cd alicloud-duplicity
python setup.py install

四、验证

也就是查看一下运行相关命令能否出现版本号:

alicloud-duplicity -V

设置 OSS 设置

一、首先我们要开通 OSS

二、然后创建一个和阿里云 ECS 同地域的  OSS Bucket,

三、储存类型选择   低频访问  ,读写权限为   私有  。因为备份并不会频繁访问,所以可以选择成本更低   低频访问,我们的别分肯定也不要别人访问,自然是   私有

四、然后进入   访问控制(RAM)  创建一个专门为 OSS 准备的用户,一定要记录好 AccessKeyID 和 AccessKeySecret

五、点击   策略管理,然后点击   新建授权策略

六、直接点击   空白模板,然后输入   授权策略名称   后,输入策略内容如下面:

{
  Statement : [
 {
  Action :  oss:* ,
  Effect :  Allow ,
  Resource : [
  acs:oss:*:*:mf8-oss-back ,
  acs:oss:*:*:mf8-oss-back/* 
 ]
 }
 ],
  Version :  1 
}

由于我的  OSS Bucket  是  mf8-oss-back,所以  acs:oss:*:*:mf8-oss-back ,  和   acs:oss:*:*:mf8-oss-back/*   后面是  mf8-oss-back  你可以改成自己的  OSS Bucket  名称

然后点击   新建授权策略   保存

七、为该用户进行授权

八、选择我我们刚才创建的授权策略就行

服务器设置

创建配置文件

运行:

cat   ~/.alicloud.cfg   EOF 
[oss]
endpoint = OSS 的访问  EndPoint
access_key_id =  刚才要保存的  AccessKeyID 
access_key_secret =  刚才要保存的  AccessKeySecret
EOF

OSS 的访问 EndPoint,可以在 Bucket 的详情页中看到:

如果是 VPC 就用 VPC 的内网,经典就用经典的内网,内网速度更快同时不用流量费用。

例如:

cat   ~/.alicloud.cfg   EOF 
[oss]
endpoint = http://oss-cn-shanghai-internal.aliyuncs.com
access_key_id = LTZIWWWMF8BIZxJI
access_key_secret = 9rm1Q5nlpyz155WWWMF8BIZDAW1DSn
EOF

创建环境变量

运行:

export ALICLOUD_OSS_ENDPOINT=OSS 的访问  EndPoint
export ALICLOUD_ACCESS_KEY_ID= 刚才要保存的  AccessKeyID ALICLOUD_ACCESS_KEY_SECRET= 刚才要保存的  AccessKeySecret

使用

终于可以开始开心的使用了!

用法备份

全量备份

alicloud-duplicity full /etc oss://bucket-name/keyfolder/

增量备份

alicloud-duplicity incr /etc oss://bucket-name/keyfolder/

自动选择备份类型

alicloud-duplicity /etc oss://bucket-name/keyfolder/ 
alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/ #  对重要数据,应经常做全量备份,用 --full-if-older-than 指定全量备份时间间隔。

定时备份

 利用  `crontab -e`  设定每天凌晨 3 点自定执行脚本 timedbackup.sh,写入  `0 3 _/1_ * timedbackup.sh`。脚本 timedbackup.sh 的内容如下:

alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/

备份多个目录

alicloud-duplicity --include /etc --include /home/aliyun --exclude  **  / oss://bucket-name/keyfolder/

恢复

恢复文件夹

alicloud-duplicity restore oss://bucket-name/keyfolder/ /home/tmp/

恢复特定文件

alicloud-duplicity --file-to-restore file1 oss://bucket-name/keyfolder/ /home/tmp/

其它

列出备份目录列表

alicloud-duplicity list-current-files oss://bucket-name/keyfolder/

查看备份状态

alicloud-duplicity collection-status oss://bucket-name/keyfolder/

演示

例如,我要备份  /root/images/  内的所有图片到 OSS,那么就运行:

alicloud-duplicity full /root/images/ oss://mf8-oss-back/images/*

这里的  /root/images/  是本地要备份的目录,oss://mf8-oss-back  中的  mf8-oss-back  是  OSS Bucket  名称,/images/  就是 OSS 中的目录了。

然后会出来一段:

Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
GnuPG passphrase: 
Retype passphrase to confirm:

就是要你输入加密这个备份的密码,因为即便备份到自己的 OSS 上依旧是应该要一个加密来保障安全的,万一手机丢了阿里云账号被登录了呢。

然后就会反馈备份内容了:

--------------[ Backup Statistics ]--------------
StartTime 1510751741.34 (Wed Nov 15 21:15:41 2017)
EndTime 1510751741.35 (Wed Nov 15 21:15:41 2017)
ElapsedTime 0.01 (0.01 seconds)
SourceFiles 12
SourceFileSize 104550 (102 KB)
NewFiles 12
NewFileSize 104550 (102 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 12
RawDeltaSize 100454 (98.1 KB)
TotalDestinationSizeChange 61719 (60.3 KB)
Errors 0
-------------------------------------------------

我们在到 OSS 的文件管理处就可以看到备份文件了。三个就是加密后的文件。

然后我们就再恢复一下看看是否备份成功:

alicloud-duplicity restore oss://mf8-oss-back/images/ /root/restore/images/

就可以  /root/restore/images/  中看到恢复的文件了。

看完上述内容,你们对怎样轻松将服务器文件备份至 OSS 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3873字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)