Ubuntu 定时备份文件并上传至阿里云OSS
起因
本来没曾想着要备份服务器上的文件,然而组里另一台服务器不知道咋的突然启动盘坏了,一方面庆幸自己用的那台还安好,另一方面突然产生了忧患意识,万一我的代码跑着跑着服务器坏了咋整,于是就想着要对代码文件进行定期备份。
一开始问了朋友,推荐了rsync,但后来一搜索感觉更适合两个服务器之间传输,如果想通过rsync将服务器上的文件备份到本地windows电脑上,还需要在Windows上下载额外的软件才行;后面在搜索时发现有人分享把备份文件上传到阿里云oss上,想到自己反正买了oss那就这样备份!
步骤
-
在oss上创建一个新的Bucket(在很多教程里看到最好选择同城地域、私有读取)
-
在服务器上下载并安装ossutil工具
「实验室服务器基本信息」
-
Ubuntu 20.04.4 LTS (GNU/Linux 5.15.0-69-generic x86_64)
-
16 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz
可以参考官方链接
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
-
-
配置ossutil
-
输入配置命令
ossutil config
-
根据提示设置配置文件路径
文件名可以带路径,默认为:/home/user/.ossutilconfig,回车将使用默认路径。但是我还是自定义了,但是这接下来使用的时候会比较麻烦。
/home/newdisk/wxy/ossutil/.ossutilconfig
[Credentials] language=EN # 默认语言是英文 accessKeyID=replace_your_own_accessKeyID endpoint=https://oss-cn-shenzhen.aliyuncs.com # 填写Bucket所在地域的Endpoint accessKeySecret=ns8AQC0gN48I2C9YayD261KGdKXfL7v
endpoint在这找
-
-
编写备份脚本
我的路径
vim /home/newdisk/wxy/backup4tep.sh
#!/bin/sh echo "启动备份脚本..." # 临时目录 tmpDir=/home/newdisk/wxy/backup4tep # 这里写你想要创建的临时目录的绝对路径 # 创建临时目录 mkdir $tmpDir now=$(date +"%Y%m%d%H") # 现在时间 # 文件名前缀 fileNamePrefix=tepenv-backup #这里写你的文件名前缀 # 文件名,格式:前缀+时间,如:tepenv-backup-2021011521.tar.gz fileName=$fileNamePrefix-$now.tar.gz filePath=$tmpDir/$fileName # 备份文件在OSS上的存储路径 ossDir=oss://backup4tep # 这里输入你OSS上的存储路径 echo "正在打包 $filePath ..." tar -zcvf $filePath /home/newdisk/wxy/anaconda3/envs/pytep/lib/python3.7/site-packages/gym #这个路径写你要备份的文件路径 echo "开始上传 $fileName 到OSS" ossutil64 -c /home/newdisk/wxy/ossutil/.ossutilconfig cp $filePath $ossDir/$fileName echo "删除本地临时打包文件 $fileName" rm -rf $filePath echo "备份完毕"
这里有一处麻烦的地方就是我前面的配置文件是自定义的,所以我在使用的时候每次需要增加**-c**选项指定配置文件的路径,然后后面加上命令
ossutil64 -c /home/newdisk/wxy/ossutil/.ossutilconfig
-
配置定时任务
-
使用 crontabs 定时执行脚本
crontab -e
30 04 * * * /home/newdisk/wxy/backup4tep.sh
-
期间遇到的问题:在输入
crontab -e
时跳出no crontab for wxy crontab - using an empty one
,其实归结于编辑器的选择,输入export EDITOR=vim
就可以
-
参考🔗:
[1]https://suimz.com/post/6.html
[2] https://help.aliyun.com/document_detail/50451.html?spm=a2c4g.474474.0.0.63ae7786bwSmkb