编写shell脚本 上传当然备份的文件到阿里云oss
时间: 2024-11-07 10:24:59 浏览: 21
上传文件到阿里云OSS-uniapp.zip
5星 · 资源好评率100%
编写一个Shell脚本来上传本地目录下的备份文件到阿里云OSS,首先你需要安装阿里云OSS SDK(ossutil),可以通过pip来安装:
```bash
pip install oss2
```
然后你可以参考以下脚本模板:
```bash
#!/bin/bash
# 配置阿里云OSS相关的变量
ACCESS_KEY_ID="your_access_key_id"
ACCESS_KEY_SECRET="your_access_key_secret"
ENDPOINT="your_oss_endpoint"
BUCKET_NAME="your_bucket_name"
# 指定要备份的本地目录和目标OSS路径
LOCAL_DIR="/path/to/backup/files"
OSS_FOLDER="your_oss_backup_directory"
# 创建OSS客户端
auth=$(aliyun oss auth -u $ACCESS_KEY_ID -p $ACCESS_KEY_SECRET)
bucket=$(echo "$auth" | jq -r '.AccessKeyId')
# 使用ossutil上传文件
for file in $(find $LOCAL_DIR -type f); do
FILENAME=$(basename "$file")
OBJECT_PATH="${OSS_FOLDER}/${FILENAME}"
echo "Uploading ${file} to ${OBJECT_PATH}"
ossutil cp "$file" "${ENDPOINT}:${BUCKET_NAME}/${OBJECT_PATH}" || {
echo "Failed to upload ${file}, skipping..."
}
done
echo "Backup uploaded successfully."
```
在这个脚本中:
1. 需要替换`ACCESS_KEY_ID`、`ACCESS_KEY_SECRET`、`ENDPOINT`、`BUCKET_NAME`为你实际的阿里云账号信息。
2. `LOCAL_DIR`是你备份文件所在的本地目录,`OSS_FOLDER`是你希望在OSS上保存的相对路径。
3. 使用`find`命令遍历本地目录里的所有文件,并通过`ossutil cp`命令逐个上传到OSS。
运行此脚本之前,请确保权限设置允许运行,并且终端有执行`ossutil`的权限。
阅读全文