借助davfs挂载Yandex Disk 网盘用于数据备份

释放双眼,带上耳机,听听看~!

备份是个好习惯。然而如何上传备份一直让人烦恼。一般来说都是把备份放到网盘客户端的同步目录后让网盘客户端同步到网盘服务器,这样的话就浪费不少本地空间了。

如果网盘都能像NFS那样挂载,那多好啊?答案是可以的Webdav + Fuse + davfs。
国内外支持webdav的网盘有坚果云、Yandex Disk、Box.net、4shared、Dropbox(通过dropdav、收费)、Google Drive(通过 DAV-Pocket),这里以Yandex Disk为例。

一、Linux下挂载挂载 Yandex Disk。
1、安装 fues 和 davfs

yum install fuse davfs2 #CentOS/RHEL
apt-get install fuse davfs2 #Debian/Ubuntu

2、挂载Yandex Disk

mkdir -m 755 /mnt/yandex
mount -t davfs https://webdav.yandex.com /mnt/yandex

过程中会提示输入用户名密码
借助davfs挂载Yandex Disk 网盘用于数据备份插图
3、检测挂载是否成功

[root@s8 ~]# df -h /mnt/yandex
Filesystem                 Size  Used Avail Use% Mounted on
https://webdav.yandex.com   10G  9.4G  627M  94% /mnt/yandex

我的已经用了94%的空间。
借助davfs挂载Yandex Disk 网盘用于数据备份插图1
二、数据备份
直接拿出以前给出过的备份脚本,小改一下就行了

#!/bin/bash
# Settings
YANDEX_DISK="/mnt/yandex" #网盘挂载路径
BACKUP_SRC="/home/wwwroot/website" #需要备份的文件夹,可以多个,请用空格分隔
BACKUP_DST="/backups" #备份到网盘里的什么路径下
MYSQL_SERVER="127.0.0.1" #连接本地MySQL
MYSQL_USER="root" #本地MySQL的用户
MYSQL_PASS="123456" #本地MySQL的密码

# 往下不要随意编辑
BACKUP_DST=$(echo "$YANDEX_DISK/$BACKUP_DST" | sed 's#//#/#')
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tgz"
LAST=$(date -d "2 months ago" +"%Y.%m.%d") #这里的时间可以根据需要进行修改,如"3 months ago"

df -h | grep "$YANDEX_DISK"
if [ $? -ne 0 ]; then
  echo "ERROR. Now exiting..."
  exit 1
fi

# Create Directory
ls "$BACKUP_DST"
if [ $? -ne 0 ]; then
    mkdir -p "$BACKUP_DST"
fi

# Backup files
ps -e | grep -c mysql
if [ $? -eq 0 ]; then
  echo "Dumping databases..."
  mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p $MYSQL_PASS --all-databases > "$BACKUP_DST/$NOW-Databases.sql" #这里的命令路径可以根据需要进行修改
else
  echo "ERROR. Now exiting..."
  exit 1
fi

ls > /dev/null
if [ $? -eq 0 ]; then
  echo "Packing files..."
  tar -czf "$DESTFILE" "$BACKUP_SRC" "$BACKUP_DST/$NOW-Databases.sql"
else
  echo "ERROR. Now exiting..."
  exit 1
fi

if [ $? -eq 0 ]; then
  echo "Cleaning the backups..."
  rm -f "$BACKUP_DST/$NOW-Databases.sql"
  rm -f "$BACKUP_DST/$LAST.tgz"
else
  echo "ERROR. Now exiting..."
  exit 1
fi

如图所示已经备份成功了
借助davfs挂载Yandex Disk 网盘用于数据备份插图2

Ps。脚本可以放在某个目录下命名为backup.sh
例如

/home/backup/backup.sh

直接访问即可执行脚本

定时任务

crontab -e

设置为每天执行一次备份,具体时间可以根据需要进行修改

30 1 * * * sh /home/backup/bbackup.sh

三、总结
各家网盘都想通过接口来控制用户,现在都不想搞Webdav了,也只好退而求其次,使用官方客户端了。

温馨提示:本文最后更新于 2022-12-11 01:52 ,某些文章具有时效性,若有错误或已失效,请在下方留言或联系逆念

给TA打赏
共{{data.count}}人
人已打赏
网络技术

畅言评论一句CSS代码实现去广告效果

2018-7-15 23:48:58

网络技术

对kangle/ep进行加固/安全防御/CC防御/防注入/防木马等操作

2018-7-25 3:26:00

重要声明

本站资源大多来自网络,如有侵犯你的权益请联系管理员,QQ508044570 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索