导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
热门文章
1推文
没想到《孤独摇滚》的第二季消息来的如此突然。不过第二季的监督换了,不知道还能不能延续第一季的水平。
热度
429
2推文
今日份的秋叶原,久违的夜景,以及明明禁止live却依然和love live联动的atre🤣。
热度
402
3博文
探访《蜡笔小新》老家——春日部游记
热度
247
4博文
《孤独摇滚》圣地巡礼——下北泽&下北泽咖喱节2023
热度
221
5页面
程序员老黄历&求签
热度
221
6推文
看完《孤独摇滚》的总集篇剧场版后篇了。 虽然删减在所难免,但是个人觉得制作组还是在尽量在保留精华。 ED歌曲《Re:Re:》把我惊艳到了,非常熟悉的旋律当时硬是想不起来,回到家查了一下原来第一次听到是在《只有我不在的街道》。 https://www.bilibili.com/video/BV1M5ejeMErR
热度
208
7推文
2025年2月15日,天气晴,今天去电影院看了《前辈是男孩子 雨过天晴》。 这明明可以做成TV版第二季动画,但是P9不知为何突然选择了做成剧场版,当时看到这个消息我是震惊的。结果不出所料,用的是TV版的制作水准做的剧场版动画。分辨率略低,我坐在最后一排都觉得有些糊。突然的手绘Q版的表现手法也和TV版几乎一致。 不过细腻的心理描绘,出色的氛围营造,也算是一定程度掩盖了制作上的贫穷。 总的来说剧情的满足度还是很不错的。有欢快的剧情,也有感人的桥段。不过更多的是感受到了主角们的成长,青春是真的美好! 另外此次的首周特典是贴纸和漫画小册子。漫画小册子的内容是情人节的小短片,蛮有意思的。
热度
182
8博文
手把手从零开始搭建《泰拉瑞亚》(Terraria)服务器
热度
130
9推文
2025年2月14日,天气晴,今天无事发生😇。
热度
91
10博文
《孤独摇滚》圣地巡礼——金泽八景
热度
91
最新评论
广树管理员
2025-02-16 19:17
@石樱灯笼:太悲观了呀 大佬
石樱灯笼
2025-02-16 19:00
灵魂没了,够呛
广树管理员
2025-02-16 17:21
@小彦:一直都这么多人呀,不要小看东京的商业街。
小彦
2025-02-16 17:20
人好多,秋叶原这么繁华的吗
广树管理员
2025-02-16 09:17
@小可:只是放在心上吗
正在攻略

logo_kai.jpg


PSN奖杯卡

PSN奖杯卡

赞助商广告

通过BorgBackup自动化备份网站到远程服务器

作者:广树时间:2024-03-18 21:16:37分类:服务器

BorgBackup(或简称为 Borg)是一个开源的、去重的、压缩的、加密的备份程序。它提供了高效、安全的方式来备份数据。

此次是以两台服务器之间进行文件备份为场景,简单的记录一下BorgBackup自动化备份网站的过程。


A为网站服务器,B为备份用的服务器。

B服务器前提:防火墙开放SSH端口给A服务器。


AB服务器安装BorgBackup

sudo apt-get update
sudo apt-get install borgbackup


B服务器创建一个用户

sudo adduser backupuser


B服务器创建一个repo

borg init --encryption=repokey /path/to/repo

这里以repokey为例,此时会要求设定密码。


A服务器设置SSH密钥对

ssh-keygen

因为是自动化需要,这个密钥对不设置密码。


将 A 服务器的公钥复制到 B 服务器

ssh-copy-id backupuser@B服务器域名或者IP

输入前面B服务器的backupuser的密码。


配置sh脚本

#!/bin/bash
# 启动 ssh-agent
eval "$(ssh-agent -s)"

# 添加你的私钥到 ssh-agent
ssh-add /root/.ssh/id_rsa

# 定义备份源和目标
SOURCE="/A/path/to/repo"
TARGET="[email protected]:/path/to/repo"

# 设置 BORG_PASSPHRASE 环境变量,Borg 将使用这个变量作为密码
export BORG_PASSPHRASE='xxxxxxxxxxx'

# 使用 Borg 创建新的备份,exclude 排除文件夹
borg create --exclude '/A/excludePath' "${TARGET}::{now:%Y%m%d%H%M%S}" "${SOURCE}"

# 删除 30 天前的备份,防止空间不足
borg prune -v --list --keep-within 30d "${TARGET}"


打开当前用户的 crontab 文件

crontab -e


添加一行来定义你的 cron 任务

0 1 * * * /path/to/your/script.sh

例如,如果你想要每天凌晨 1 点运行你的脚本

请注意,你的 sh 脚本需要有执行权限。你可以使用 chmod 命令来给它添加执行权限:

chmod +x /path/to/your/script.sh


从B服务器提取备份文档并打包成zip

borg extract --strip-components 3 /path/to/repo::my-backup

在 borg extract 命令中,--strip-components 选项用于移除从备份中提取的文件路径的前缀部分。这个选项的参数是你想要移除的路径组件的数量。

例如,假设你的备份中有一个文件,其路径为 /www/wwwroot/test/myfile.txt。如果你使用 --strip-components 3,那么在提取备份时,这个文件的路径将变为 myfile.txt。这是因为 --strip-components 3 移除了路径的前三个组件,即 /www/、wwwroot/ 和 test/。

然后可以通过指令压缩成zip文件

zip -r backup.zip .


同理也可以直接在A服务器拉取档案

eval "$(ssh-agent -s)" && ssh-add /root/.ssh/id_rsa && export BORG_PASSPHRASE='xxxxxxxxxxx' && borg extract ssh://[email protected]:/path/to/repo::my-backup /path/to/restore


donate.png

1210 x 50(蓝底).png

cloudcone