总字符数: 4.02K

代码: 2.46K, 文本: 0.56K

预计阅读时间: 13 分钟

Aliyunpan介绍

仿Linux shell文件处理命令的阿里云盘命令行客户

支持以下特色功能:

  • 多平台支持,支持Windows,macOS,linux(x86/x64/arm)等
  • 阿里云盘多用户支持
  • 支持文件网盘,相册网盘无缝切换
  • 支持导入/导出功能,快速备份(导出)和恢复(导入)网盘的文件
  • 下载网盘内文件,支持多个文件或目录下载,支持断点续传和单文件并行下载
  • 上传本地文件,支持多个文件或目录上传,支持排除指定文件夹/文件(正则表达式)功能
  • 备份本地文件,支持备份本地文件夹到网盘中,保持本地文件和网盘文件同步.常用于嵌入式或者NAS等设备.
1
2
3
4
5
6
7
8
9
10
11
12
13
### 以下有部分操作图片中没有,按照教程来就可以
# 进入opt目录
cd /opt
# 下载安装包
wget https://download.fastgit.org/tickstep/aliyunpan/releases/download/v0.0.2/aliyunpan-v0.0.2-linux-amd64.zip
# 解压
unzip aliyunpan-v0.0.2-linux-amd64.zip
# 重命名文件夹
mv aliyunpan-v0.0.2-linux-amd64/ aliyunpan/
# 进入aliyunpan目录
cd aliyunpan/
# 运行aliyunpan
./aliyunpan
aliyunpan.
aliyunpan.

登录

首先,必须先登录.目前支持使用RefreshToken进行登录,RefreshToken可以参考以下步骤获取,以Chrome浏览器为例,其他浏览器类似.打开阿里云盘网页并进行登录,然后F12按键打开浏览器调试菜单,选择应用,在左边选择本地存储,找到token

refresh_token
refresh_token

使用login -RefreshToken=你的RefreshToken值登录

aliyunpan_login.
aliyunpan_login.

之后输入exit退出

aliyunpan_exit.
aliyunpan_exit.

编写脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 新建shell文件
vim /opt/backup.sh


#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: backup.sh
# Describe: 用于备份网站相关数据
# Revision: 终极版
# Date: 2021/09/26
# Author: 江霁月的私人小屋
# 设置mysql的登录用户名和密码(根据实际情况填写)
WEB_PATH=/home/wordpress-1258894728.cos.ap-beijing.myqcloud.com #网站根目录
ALIYUNPAN_PATH=/backup #阿里网盘内的文件夹路径
MYSQL_USER="root" #数据库用户
MYAQL_PASSWORD="" #数据库密码
MYSQL_HOST="localhost" #数据库IP(本地)
MYSQL_PORT="3306" #数据库端口
BACKUP_DIR=/opt/wordpress/backup #备份到哪个目录
DATE=`date +%Y%m%d%H%M` #时间
#14天前的时间
ALI_DATE=`date +%Y%m%d%H%M -d '-14 day'`
#删除云端数据(14天以前的数据)
MYSQL_ALI="mysql_backup_$ALI_DATE.sql"
WEB_ALI="WEB_$ALI_DATE.tar.gz"
/opt/aliyunpan/aliyunpan rm $ALIYUNPAN_PATH/$MYSQL_ALI $ALIYUNPAN_PATH/$WEB_ALI
# 删除本地备份数据(删除7天以前的备份数据)
echo "正在删除7天以前的本地备份数据!!!"
find $BACKUP_DIR -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
find $BACKUP_DIR -mtime +7 -type f -name '*.tar.gz' -exec rm -rf {} \;
# 备份全部数据库
mysqldump -h$MYSQL_HOST -u$MYSQL_USER -p$MYAQL_PASSWORD -P$MYSQL_PORT --all-databases >$BACKUP_DIR/mysql_backup_$DATE.sql
if [ $? -eq 0 ]; then
echo "备份成功,时间:" $(date +"%Y-%m-%d %H:%M:%S")
#备份html文件
tar zcPf $BACKUP_DIR/WEB_${DATE}.tar.gz $WEB_PATH
if [ $? -eq 0 ]; then
echo "备份网站根目录成功,路径:$BACKUP_DIR/WEB_${DATE}.tar.gz"
if [ $? -eq 0 ]; then
# 调用aliyunpan上传备份的文件
/opt/aliyunpan/aliyunpan upload $BACKUP_DIR/mysql_backup_$DATE.sql $BACKUP_DIR/WEB_${DATE}.tar.gz $ALIYUNPAN_PATH
else
echo "上传文件出错,请检查日志!!!"
fi
else
echo "备份网站根目录出错,请检查日志!!!"
fi
else
echo "备份数据库出错,请检查日志!!!"
fi




# 修改backup.sh文件权限
chmod 755 /opt/backup.sh

Crontab

1
2
3
vim /etc/crontab
#每天早上2点执行数据库和html备份脚本
0 2 * * * root /opt/backup.sh > /opt/backup.log 2>&1 &
aliyunpan_upload.
aliyunpan_upload.

查看阿里网盘上传是否成功.

文件名对不上是因为这个脚本被我改版过很多次,图片截图时间也不一样略过就好

aliyunpan_content.
aliyunpan_content.

下载阿里网盘文件/目录

1
2
3
4
5
# aliyunpan download <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...
# 将阿里云盘中2021-09-25 08:22的WEB和数据库文件下载到本地
/opt/aliyunpan/aliyunpan download /backup/WEB_202109250813.tar.gz /backup/mysql_backup_202109250813.sql
# 下面这个和上面一样不过命令简短
# aliyunpan d <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...

下载路径请看输出信息!!!

aliyunpan_download_file.
aliyunpan_download_file.