Linux下定时备份站点, 并自动上传到OneDrive (二)
之前水了几篇相关的文章, 像切割nginx日志, 定时备份文件, rclone挂载OneDrive等等。 当时的想法是不依赖于各种面板, 纯命令行下实现想要的效果, 尽可能的利用好有限的存储空间, 方便以后分析或者存储备份相关文件。每个人都有自己的需求, 这里就随手记录下, 我自己需求实现的完整过程吧......
简单说明
本文不再依托于rclone, 由于只是自动上传到OneDrive, 故改用其它程序......备份脚本、切割日志脚本都是通用的, 需要自己修改里面的相关配置。
* 本文部分内容不对游客开放, 不喜欢的可以又上角叉掉。
* 考虑到内容有点长, 所以分两篇水吧。
回顾
修改备份脚本(二)
正如开头说的, 每个人的需求不太一样, 所以这里就记录博主自己需求实现的具体过程。
目标
需求简单描述
- 1.每天切割指定日志文件,最多保留30份。
- 2.每天打包指定站点目录、指定日志切割目录、指定数据库备份到同一个新目录下,最多保留3份(对,本地3份足以)。
- 3.每天将“2”中生成的新目录上传到OneDrive指定目录里
通过上一篇文章的修改, 切割和备份的脚本已经是能够正常使用了, 可是和想要实现的效果还差那么点。怎么办呢? 继续瞎改喽~
修改日志切割脚本
修改 log_files_dir
这一行, 添加一个新的路径, 参考如下:
log_files_dir=${log_files_path}cut-nginx-logs/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
修改备份脚本
修改 Backup_Home
这一行,指定到一个 "可变" 路径,参考如下:
Backup_Home="/home/backup/$(date +"%Y-%m%d")/"
本内容需要登录后查看
到这里,还需要处理“备份文件保留的数量”以及“上传到OneDrive”里,别急,慢慢来。
将备份的文件自动上传到OneDrive(二)
那接下来就是使用脚本, 搭配程序自动上传到OneDrive里, 以及处理保留的文件数量了
创建自动化脚本
创建脚本
touch /opt/OneDriveUploader/UploadOneDrive.sh
#编辑,内容参考如下
nano /opt/OneDriveUploader/UploadOneDrive.sh
脚本内容
目标
- 将/home/backup/y-md当天日期的目录上传到OneDrive里
- 上传完成后,目录
/home/backup/
下仅保留最近的3份“y-md”目录 - 上传完成后,目录
/home/wwwlogs/cut-nginx-logs/
下仅保留最近的30份“y/m”目录
将上面的目标通过脚本的形式, 搭配corntab定时执行去实现自动化, 随便写写, 将就看看吧:
定时任务
先使用命令:corntab -e
,然后添加下面的内容。如果路径不一样,记得修改一下再使用。
0 0 * * * /opt/lnmp-tools/cut_nginx_logs.sh
3 0 * * * /opt/lnmp-tools/backup.sh
30 0 * * * /opt/OneDriveUploader/UploadOneDrive.sh
效果嘛:
- 每天0点0分,切割日志文件
- 每天0点3分,打包站点目录、切割后的日志目录、数据库,到/home/backup/Y-md
- 每天0点30分,通过程序将打包后的/home/backup/Y-md目录上传到OneDrive里
阅读剩余
版权声明:
作者:不二
链接:https://cimen.club/240.html
文章版权归作者所有,未经允许请勿转载。
THE END