网站建设需求文件,做营销策划的上哪个网站好,重庆网站设计公司网站制作,企业网站营销常用的方法文章目录 概述安装bypy同步文件定时任务脚本 概述
之前自购了一台阿里云服务器#xff0c;系统镜像为Ubuntu 22.04#xff0c; 并且搭建了LNMP开发环境#xff08;可以参考#xff1a;《Ubuntu搭建PHP开发环境操作步骤(保姆级教程)》#xff09;。由于项目运行中会产生附… 文章目录 概述安装bypy同步文件定时任务脚本 概述
之前自购了一台阿里云服务器系统镜像为Ubuntu 22.04 并且搭建了LNMP开发环境可以参考《Ubuntu搭建PHP开发环境操作步骤(保姆级教程)》。由于项目运行中会产生附件比如图片、视频等二进制文件一般情况下可以把网站的附件存储到OSS上但是OSS需要花钱由于项目比较小而且本着少花点钱的原则还是把附件就放在了网站服务器上。那么就需要考虑一个问题附件文件的备份问题。如果服务器遭受攻击那么有可能附件就找不回来了。于是乎我就在想能不能在Ubuntu服务器上免费的实现文件备份。最终我发现了这个神器bypy。
安装bypy
# 切换到root用户
sudo -i# 安装 pip3 (如果已安装则跳过此步骤)
apt install python3-pip# 安装依赖
pip3 install requests (如果已安装则跳过此步骤)# 安装bypy
pip3 install bypy # 如果最新版不能用可以使用1.6.10版本 pip3 install bypy1.6.10# 获取百度网盘的授权
bypy info如果报错Command ‘bypy’ not found, did you mean 应该是没有切换到root用户 正常情况的话就会出现下面的内容
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_idq8WE4EpCsau1oS0MplgMKNBnresponse_typecoderedirect_urioobscopebasicnetdisk
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done访问提示的链接就会打开百度网盘的授权页面登录你的百度网盘账号然后授权即可。 接下来把上面的授权码复制下来粘贴到服务器的终端 同步文件
基本操作的命令如下
# 上传服务器当前目录下的文件到百度云盘
bypy upload# 下载百度网盘上的内容到服务器的当前目录
bypy downdir# 比较服务器当前目录和网盘的文件是否一致
bypy compare# 查看网盘的文件列表
bypy list# 运行时添加-v参数会显示进度详情。
# 运行时添加-d会显示一些调试信息。实际演示一下
随便找个目录创建两个测试文件然后运行 bypy upload接下来去到 百度网盘-我的应用数据-bypy 文件夹查看 切换一个目录运行 bypy downdir 上传到网盘的指定目录bypy upload ./ 2024/123/456/ 会将当前目录下的所有文件上传到网盘的 apps bypy 2024123456目录下别忘了456/后面的/
特别说明
增量备份对于网盘已存在的文件如果文件没有变化再次同步会跳过。单向备份对于已同步过的文件如果删除了服务器上的文件并不会删除百度网盘上的文件。
定时任务脚本
然后通过crontab 写一个定时任务就可以实现自动备份服务器上的文件到自己的网盘了再也不怕服务器的大容量文件丢失了。
备份数据库的脚本
# export_sql.shmysqldump -u root -p123456 dbname /home/admin/www/sql/dbname.sql备份SQL文件和图片文件的脚本图片文件按照年/月/日 的目录存放备份昨天的
# upload_img_to_bdwp.shsqlpath/home/admin/www/sql
cd ${sqlpath}
echo ${sqlpath}
nohup bypy upload ./ sql /dev/null 21 # 获取昨天的日期
yesterday$(date -d yesterday %Y/%m/%d)
imgpath/home/admin/www/img/file_${yesterday}
if [ ! -d ${imgpath} ]; thenecho 当前日期的图片文件目录不存在exit 0
ficd ${imgpath}
echo ${imgpath}
nohup bypy upload ./ ${yesterday} /dev/null 21 定时任务脚本crontab -e
# 每天02:00 备份数据库
0 2 * * * sh /root/shell/export_sql.sh# 每天03:00 备份文件到百度网盘
0 3 * * * sh /root/shell/upload_img_to_bdwp.sh