七牛云自动备份脚本

七牛云的对象存储有免费的10G存储空间,很适合用来当服务器的关键配置文件备份,所以自己写了一个sh脚本用来定时将本地文件备份后上传到七牛云存储空间。

该脚本依赖于官方命令行工具,下载地址

密钥获取


七牛云qshell自动备份文件脚本如下
#!/bin/bash

# 设置七牛云存储空间的相关信息
# 将获取到的密钥放在这儿
ACCESS_KEY="AZmEJedxxxxxxxxxxxxxxxxxxxxxxxx"
SECRET_KEY="ZBgriX3Yxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
qshell="/usr/bin/qshell"  # 请将路径替换为实际的 qshell 路径

# 这个name随意取
$qshell account "$ACCESS_KEY" "$SECRET_KEY" "name"

# 备份的源目录和目标目录
# 这个放你需要备份的目录列表,我需要备份三个目录,所以写了三个
SRC_DIRS=("/root" "/etc/nginx/conf.d" "/usr/local/ServerStatus")
# 备份文件的名称,和SRC_DIRS相对应
BASE_NAME=("root" "conf" "server")
# 这儿写备份后的文件存放在什么地方
BACKUP_DIR="/backup"

# 检查备份目录是否存在,如果不存在则创建
if [ ! -d "$BACKUP_DIR" ]; then
  mkdir "$BACKUP_DIR"
fi

# 当前日期
CURRENT_DATE=$(date +"%Y%m%d")

# 计算备份文件的索引,每5天切换一个备份
# 每五天备份一次,一共保持两个备份,一个五天前,一个十天前
INDEX=$((($CURRENT_DATE / 5) % 2))

# 循环备份每个目录
# 这儿的{0..2}和上面的SRC_DIRS数量相对应,0..2为三个文件夹
for i in {0..2}
do
    # 构建备份文件名,包括日期和索引
    BACKUP_FILE="${BACKUP_DIR}/${BASE_NAME[$i]}$((INDEX + 1)).tar.gz"

    # 使用 tar 命令备份目录
    tar czf "$BACKUP_FILE" "${SRC_DIRS[$i]}"

    # 输出备份信息
    echo "备份 ${SRC_DIRS[$i]} 到 ${BACKUP_FILE}"
done

# 确保配置文件存在,然后上传
# 将/root/sh/up.conf替换为你的上传配置文件
if [ -f "/root/sh/up.conf" ]; then
  $qshell qupload /root/sh/up.conf
else
  echo "配置文件不存在"
fi
{
    "src_dir" : "/backup",
    "ignore_dir" : true,
    "bucket" : "xiny-like",
    "rescan_local" : true,
    "overwrite" : true,
    "key_prefix": "backup/2/"
}
上传配置文件
{
    "src_dir" : "/backup",
    "ignore_dir" : true,
    "bucket" : "xiny-like",
    "rescan_local" : true,
    "overwrite" : true,
    "key_prefix": "backup/2/"
}

src_dir是本地备份文件的存放位置,bucket替换为七牛云空间创建时的名字,去查看空间名字

key_prefix替换为空间存储中文件夹的名字,我的文件将会存放在xiny-like存储空间中的backup/2/文件夹下,文件夹需要提前先创建。

定时备份

将脚本保存,然后添加到定时任务中

执行

crontab -e

输入

0 0 /5  * /bin/bash /root/sh/backup.sh

/root/sh/backup.sh为脚本位置,记得添加可执行权限

chmod 755 /root/sh/backup.sh

原文链接

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 七牛云是一个提供对象存储服务的云平台,而Android是一种移动操作系统。在Android开发中,使用七牛云需要获取一个token来进行身份验证和授权操作。 首先,为了在Android应用中使用七牛云,我们需要在七牛云的开发者平台上创建一个账号并创建一个存储空间。在创建存储空间后,我们可以通过一些方法来获取token。 一种常用的方法是通过使用七牛云提供的SDK(Software Development Kit)来获取token。我们只需要在Android应用中引入七牛云SDK,并按照其文档中的指示来调用相应的方法,就可以获取到一个有效的token。 另一种方法是在服务器端生成token,并通过网络请求将其传输到Android设备上。此时,我们需要在服务器端编写一段代码,使用七牛云提供的SDK生成token,并将其返回给Android设备。Android设备可以通过发送网络请求来获取此token。 获取token后,Android应用就可以用它来进行各种七牛云的操作了,比如上传、下载、删除文件等。我们可以通过调用七牛云SDK提供的相应方法,并在参数中传入token来进行身份验证,并进行相应的操作。 总结起来,Android中的七牛云token是用于身份验证和授权操作的凭证。通过在七牛云开发者平台创建账号和存储空间,并使用七牛云SDK或服务器端生成token的方法,Android应用可以获取有效的token,然后利用它来对七牛云进行各种操作。 ### 回答2: 七牛云是一家提供对象存储、云存储服务的公司,而Android是一种运行在移动设备上的操作系统。七牛云的token是一种访问令牌,用于验证和授权操作者对七牛云存储中资源的访问权限。 在Android应用中使用七牛云token可以实现以下功能: 1. 上传文件:Android应用可以使用七牛云token,将文件上传到七牛云存储中。上传文件时需要携带token,验证用户身份和权限。 2. 下载文件:Android应用可以使用七牛云token,从七牛云存储中下载文件。下载文件时需要先获取token,然后使用token验证下载权限。 3. 删除文件:Android应用可以使用七牛云token,删除七牛云存储中的文件。删除文件时同样需要携带token进行权限验证。 七牛云token是基于七牛云存储的安全机制设计的,用于授权移动应用程序对存储资源的访问。通过使用token,可以确保只有具备合法权限的移动设备可以访问、操作七牛云存储中的文件。 七牛云token是通过七牛云的身份验证系统生成的,每个token具有一定的有效期。使用七牛云SDK可以方便地在Android应用中生成和使用token,实现对七牛云存储资源的安全访问和操作。 总的来说,七牛云token在Android应用中用于验证和授权移动设备对七牛云存储资源的访问权限,通过使用token可以实现上传、下载和删除文件等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子受

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值