导航

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

侧边栏
热门文章
1推文
给自己看过的2025年的1月新番加了评分和评价。
热度
832
2页面
程序员老黄历&求签
热度
507
3博文
《孤独摇滚》圣地巡礼——下北泽&下北泽咖喱节2023
热度
273
4博文
真相永远只有一个!《名侦探柯南》特别音乐会2025
热度
208
5博文
面码找到你了!探寻超平和Busters的秘密基地——《我们仍未知道那天所看见的花的名字》秩父圣地巡礼
热度
143
6推文
看完《孤独摇滚》的总集篇剧场版后篇了。 虽然删减在所难免,但是个人觉得制作组还是在尽量在保留精华。 ED歌曲《Re:Re:》把我惊艳到了,非常熟悉的旋律当时硬是想不起来,回到家查了一下原来第一次听到是在《只有我不在的街道》。 https://www.bilibili.com/video/BV1M5ejeMErR
热度
104
7博文
3DS模拟器简体中文字库 | Citra3ds字库 | 符文工房4乱码解决字库 | shared_font.bin
热度
104
8推文
今天去看了首部初音未来的电影《剧场版 世界计划 破碎的世界与无法歌唱的未来》。 说是初音未来的电影,但其实是手游《世界计划》的剧场版。好像有挺多人看到是初音未来的电影就去看了,结果发现并不全是😅。其实在宣传海报中,初音未来后面的那些人才是主角。 不过,我也是那些没玩过手游的观众之一。其实整场看下来问题也不是很大,就是对于人物关系和世界观的设定可能会有些问题。电影其实也很贴心地在剧情开头,大致以剧情的形式展示了手游中的五个团体的人物及其性格,但感觉还是有些杯水车薪,约等于看个眼熟。 此次的电影是第一次购买应援场。所谓的应援场,就是能在电影院里像是听演唱会一样挥舞荧光棒和尽情呐喊。看着前排那些粉丝看到自己喜欢角色时的呐喊,以及演唱会环节的打CALL,应援场确实是很有意思的一种电影观看方式呢! 剧情方面,属于看了开头大概能猜到整部动画的剧情走向。不过,通过演唱会的气氛渲染,甚至还感受到了一丝丝的感动。 总体来说,对于手游的粉丝来说可能是嘉年华般的狂喜,对于没接触过手游的路人来说也能一定程度融入其中,属于一部不错的粉丝向电影(不管是手游粉丝还是初音未来粉丝)。 首周电影特典是CD和游戏内的兑换码。送CD这种形式还第一次遇到,官方大气!
热度
78
9博文
谈谈这次《冒险岛Online》日服R区的削弱事件
热度
65
10页面
活动
热度
65
最新评论
广树管理员
2025-04-15 22:53
@小彦:所以文本转成json啊,然后递归渲染,数据都在json里了还不好办
小彦
2025-04-15 22:49
@广树:数据取出不是难点,难的是你的卡片组件,是vue组件来的(例如),但是日志内容是全文字数据,怎么让一个日志内容里还能渲染卡片组件呢?因为vue的组件必须是写在 template里的,不能说日志里有vue的代码他就能渲染出来
广树管理员
2025-04-15 22:44
@小彦:真要硬做也不是不可以,服务器先对文本做预处理比如md转json或者html转json或者干脆数据库就存json,然后从json拿到所有涉及到的番剧id再从数据库里拿到id填充回json里。接下来前端只用针对这个json做递归渲染就行了。
小彦
2025-04-15 22:40
@广树:果然是这样,一般的思路也是这样。有个难题是,如果要求卡片和日志的文字混排呢?例如用自定义 markdown 语法,如 #card# 之类的和文字混排,能做到么
广树管理员
2025-04-15 22:14
@小彦:这个啊,首先数据库里要有个番剧表,然后把番剧和文章做关联就有了数据。前端的话做一个通用组件复用渲染就行了。
攻略中
星空列车与白的旅行
暂无评分
Steam星空列车与白的旅行
2025年2月22日 22时 ~ 攻略中
已累计游玩1个月22天
乘坐的列车,划破夜空,飞驰在星空之下,令人心旷神怡——这可真是场超值之旅。舒爽夜风吹拂下的随心独旅中,我邂逅了随性的乘客,可人怜爱的乘务员。以及……猫耳少女?这场旅行,究竟会在她身上,留下了些什么呢?
界之轨迹
暂无评分
PS5界之轨迹
2024年9月28日 14时 ~ 攻略中
已累计游玩6个月20天
导力之父爱普斯泰因预言的世界末日即将到来,此时东大陆共和国所研发的导力火箭划破天空,即将探访这个世界的边界。 与此同时万事屋的青年们,正聚集在奥雷德自治州,与集结而来的各方势力,一同看望着这科技奇点。 人们这次是否能认识到世界的真实呢?
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="backupuser@domain.com:/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://backupuser@domain.com:/path/to/repo::my-backup /path/to/restore


donate.png

1210 x 50(蓝底).png

cloudcone