备份数据文件到新服务器上
@
目录
需求背景
需要备份nas服务器上的gitlab的代码备份到另一个硬盘上,一开始想看看服务器里面的硬盘分布,执行后发现一共16t,一个14t一个900多G,但是两个被分在一个数据卷里面,数据卷写数据是随机写入的,随后想出B方案备份文件到公司另一台服务器上,原来我这边看项目不多,到时候打包下再同步过去就行了,然后我找项目存放的地址,找了半天没找到再仔细搜了下gitlab的安装发现新的版本已经将文件相关的都hash保存了,也就是说找不到具体项目存放的位置了,然后就是C方案在另一台服务器上直接拉所有的项目,从中学习到了多个知识总结如下:
使用lsblk查看硬盘使用情况
lsblk
生成ssh的key,使用rsa加密方式 4096位(目标是为了把pub放到目标服务器,后期就不需要每次都输入账号密码了)
ssh-keygen -t rsa -b 4096
通过ssh远程另一台服务器
#复制我的ssh到目标服务器
ssh-copy-id -p 22 wt@10.111.111.111
#验证刚刚操作是否成功
ssh -p 22 wt@10.111.111.111
#也可以再使用rsync技术同步数据过去
免去每次拉项目都要输入密码的操作
git config --global credential.helper store
#刚刚ssh-keygen生成了pub公钥,去/home/wt/.ssh里面的*.pub复制里面的字符串,然后粘贴到gitlab-头像-setting-增加ssh
到每个项目里面拉取代码脚本
#!/bin/bash
# Define the directories for the projects
PROJECT_DIRS=( "/home/wt/backup-code/hoteloffice-unity" "/home/wt/backup-code/project-android" )
for DIR in "${PROJECT_DIRS[@]}"
do
echo "Updating $DIR..."
cd "$DIR" || { echo "Failed to enter directory $DIR"; exit 1; }
git pull
done
echo "All projects updated."
current_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "$current_time"
echo ""
crontab写定时任务
0 2 * * * /home/wt/backup.sh >> /home/wt/backup_log.log 2>&1
总结
写功能多了解,能省时间,多用用gpt
本文作者:蜗牛使劲冲
本文链接:https://www.cnblogs.com/warrenwt/p/18641872
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步