利用oss进行数据库和网站图片备份
1.背景
由于网站迁移到香港云 服务器,虽然便宜,但是宿主服务器时不时重启,为了预防不可控的因素导致网站资料丢失,所以想到用OSS 备份网站数据,bucket选择在香港地区创建,这样和你服务器传输会更快。
ossutil支持通过Windows、Linux和macOS系统以命令行方式管理OSS数据。
2.安装
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
说明
-
安装过程中,需要使用解压工具(unzip、7z)解压软件包,请提前安装其中的一个解压工具。
-
安装完成后,ossutil会安装到/usr/bin/目录下。
3.配置
输入配置命令
ossutil config
根据提示设置配置文件路径。
请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。
如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
ossutil默认使用/home/user/.ossutilconfig作为配置文件,若您设置了配置文件的路径,则每次使用命令时需增加-c选项指定配置文件。例如配置文件保存为/home/config,使用ls时,命令格式如下:
ossutil ls oss://examplebucket -c /home/config
根据提示设置工具的语言。请输入语言CH或EN。
工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。
本文以配置长期访问凭证为例,配置AccessKey ID、AccessKey Secret,STSToken设置为空。
关于如何创建AccessKey和获取Endpoint,请参见创建AccessKey和访问域名和数据中心。更多配置方式,请参见通过config命令进行快速配置。
说明
如果使用STSToken进行临时访问授权,需获取临时访问凭证,具体内容请参见使用STS临时访问凭证访问OSS。
获取到临时访问凭证后,在配置STSToken、AccessKey ID、AccessKey Secret时,请填入临时访问凭证中的SecurityToken、AccessKey ID和AccessKey Secret。
验证是否已成功 安装 ossutil。
ossutil
如果屏幕中输出ossutil所有支持的命令,表明已成功安装ossutil。
4.上传
本文以Linux系统为例,将本地文件或文件夹上传至OSS中。您在实际使用中,请根据您的系统和使用环境修改对应参数。本文涉及的通用示例说明如下:
-
本地文件:examplefile.txt(根目录下的文件)
-
本地文件夹:localfolder(根目录下的文件夹)
-
目标Bucket:examplebucket
-
目标Bucket指定目录:desfolder
1.上传文件oss
上传文件时,如果不指定上传至OSS的文件名,则默认使用原文件名进行保存;如果指定文件名,则按照指定的文件名保存在OSS中。
ossutil cp examplefile.txt oss://examplebucket/desfolder/
2.上传文件夹到oss
使用cp命令时增加-r选项,可以只将本地文件夹内的文件上传到OSS指定路径。
ossutil cp -r localfolder/ oss://examplebucket/desfolder/
上传文件夹内的文件并指定时间戳
将本地文件夹内的文件上传到OSS指定路径,文件修改时间限定在北京时间2023年10月31日10:09:18至2023年10月31日12:55:58内。
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --start-time 1698718158 --end-time 1698728158
批量上传失败重传时,可以指定--update(可缩写为-u)选项跳过已经上传成功的文件,实现增量上传。
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u
5.下载
沿用原文件名保存文件
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/
下载某一个文件夹(包含子目录)下所有文件的示例如下:
ossutil cp -r oss://examplebucket/destfolder/ localfolder/
当批量下载失败或者需要增量下载文件时,可以通过指定--update(可缩写为-u)选项选择跳过已经成功下载的文件。如果本地与OSS没有同名文件,或本地同名文件的最后修改时间早于OSS文件, ossutil会下载该文件。如果本地已有同名文件,且文件的最后修改时间晚于OSS内文件时,ossutil会跳过该文件。示例如下:
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --update 相关文章:
利用oss进行数据库和网站图片备份
1.背景 由于网站迁移到香港云 服务器,虽然便宜,但是宿主服务器时不时重启,为了预防不可控的因素导致网站资料丢失,所以想到用OSS 备份网站数据,bucket选择在香港地区创建,这样和你服务器传输会更快。 oss…...
Excel - VLOOKUP函数将指定列替换为字典值
背景:在根据各种复杂的口径导出报表数据时,因为关联的表较多、数据量较大,一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率,博主选择了导出字典code值后,在Excel中处理匹配字典值。在查询百度之后&am…...
实验室管理平台:Spring Boot技术构建
3系统分析 3.1可行性分析 通过对本实验室管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本实验室管理系统采用SSM框架,JAVA作为开发语言&a…...
操作系统进程和线程——针对实习面试
目录 操作系统进程和线程什么是进程和线程?进程和线程的区别?进程有哪些状态?什么是线程安全?如何实现线程安全?什么是线程安全?如何实现线程安全? 进程间的通信有哪几种方式?什么是…...
使用 cnpm 安装 Electron,才是正确快速的方法
当然,下面是总结的几种安装 Electron 的方法,包括使用 npm 和 cnpm,以及一些常见的问题解决技巧。 ### 1. 使用 npm 安装 Electron #### 步骤 1: 初始化项目 在你的项目目录中初始化一个新的 Node.js 项目: bash npm init -y …...
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
文章目录 PyTorch 全面解析2.1 PyTorch 的发展历程2.2 PyTorch 的核心特点2.3 PyTorch 的应用场景 TensorFlow 全面解析3.1 TensorFlow 的发展历程3.2 TensorFlow 的核心特点3.3 TensorFlow 的应用场景 Keras 全面解析4.1 Keras 的发展历程4.2 Keras 的核心特点4.3 Keras 的应用…...
【第八课】Rust中的函数与方法
目录 前言 函数指针 函数当作另一个函数的参数 函数当作另一个函数的返回值 闭包 方法 关联函数 总结 前言 在前面几课中,我们都或多或少的接触到了rust中的函数,rust中的函数和其他语言的并没有什么不同,简单的语法不在这篇文章中赘…...
c语言学习25二维数组
1 二维数组 1.1二维数组认识 二维数组本质是一个数组。 举例: int a[10][3] 数组名 a; 元素个数10; 数组元素类型:int [3]; 数组元素下标:0~9 这是一个数组,有十个元素,每个元…...
如何理解Lua 使用虚拟堆栈
虚拟堆栈的基本概念 Lua使用虚拟堆栈来实现Lua和C(或其他宿主语言)之间的交互。这个虚拟堆栈是一个数据结构,用于存储Lua的值,如数字、字符串、表、函数等。它在Lua状态机(lua_State)内部维护,为…...
【倍数问题——同余系】
题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e5 10, M 1e3 10; int maxx[M][4]; void consider(int r, int x) {if(x > maxx[r][1]){maxx[r][3] maxx[r][2];maxx[r][2] maxx[r][1];maxx[r][1] x;}else if(x > maxx[r][2]){maxx[…...
「San」监听DOM变化的方法
在 San框架 中监听组件内部字体大小并调整宽度,可以结合 自定义事件 或 数据绑定 来实现动态调整。San 框架没有直接的监听 DOM 尺寸变化的内置方法,但可以通过以下步骤实现: 方法一:使用 ResizeObserver 监听字体变化 在组件的 …...
如何选择服务器
如何选择服务器 选择服务器时应考虑以下几个关键因素: 性能需求。根据网站的预期流量和负载情况,选择合适的处理器、内存和存储容量。考虑网站是否需要处理大量动态内容或高分辨率媒体文件。 可扩展性。选择一个可以轻松扩展的服务器架构,以便…...
嵌入式驱动面试总结
操作系统: 中断的处理流程,中断处理需要注意些什么 软中断和硬中断区别 linux驱动用过那些锁,信号量,互斥锁 自旋锁和互斥锁的区别 二值信号量和互斥信号量有什么区别 进程锁怎么实现的,说一下流程; …...
Uniapp 简单配置鸿蒙
Uniapp 简单配置鸿蒙 前言下载并配置鸿蒙IDEHbuilder X 配置基本的信息生成相关证书登录官网获取证书IDE配置证书添加调试设备可能出现的问题前言 如今鸿蒙的盛起,作为多端开发的代表也是开始兼容鸿蒙应用的开发,接下来我将介绍如何在uniapp中配置鸿蒙。 注意:hbuilder X的…...
线程池的实现与应用
一、线程池 一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,…...
基于Java Springboot单位考勤系统
一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...
近源渗透|HID ATTACK从0到1
前言 对于“近源渗透”这一术语,相信大家已经不再感到陌生。它涉及通过伪装、社会工程学等手段,实地侵入企业办公区域,利用内部潜在的攻击面——例如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等——获取关键信息,并以隐蔽的…...
【linux】插入新硬盘如何配置:格式化、分区、自动挂载(Ubuntu)
文章目录 具体方法GPT分区表(GUID Partition Table)(建议都用这种分区方法)MBR分区表方法(最大支持2TB分区)(Master Boot Record) 附加:如何查看硬盘的型号另外ÿ…...
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-block.py
block.py ultralytics\nn\modules\block.py 目录 block.py 1.所需的库和模块 2.class DFL(nn.Module): 3.class Proto(nn.Module): 4.class HGStem(nn.Module): 5.class HGBlock(nn.Module): 6.class SPP(nn.Module): 7.class SPPF(nn.Module): 8.class C1(nn.M…...
代码随想录算法训练营第五十三天|Day53 图论
字符串接龙 https://www.programmercarl.com/kamacoder/0110.%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%8E%A5%E9%BE%99.html 思路 #include <stdio.h> #include <stdlib.h> #include <string.h>#define MAX 1000 // 假设最大字符串数 #define WORD_LENGTH 100 // 假…...
Phi-4-mini-reasoning镜像部署实操:7.2GB模型在24GB显存设备稳定运行
Phi-4-mini-reasoning镜像部署实操:7.2GB模型在24GB显存设备稳定运行 1. 项目概述 Phi-4-mini-reasoning是由微软Azure AI Foundry推出的轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个3.8B参数的模型虽然体积小巧࿰…...
[Python] venv、pip、解释器到底什么关系?一篇讲清环境管理
在学习 Python 的过程中,很多开发者都会遇到这样一个“经典困惑”: 为什么我用 pip install 安装了包,但代码里却 import 失败? 为什么有多个 Python? venv 到底在干嘛?它是不是“虚拟 Python”? 如果你也有这些疑问,那么这篇文章就是为你准备的。 本文将从底层逻辑出…...
前端工程师转型AI Agent开发工程师:小白也能轻松入门的大模型学习路线(建议收藏!)
前端工程师转型AI Agent开发工程师:小白也能轻松入门的大模型学习路线(建议收藏!) 前端工程师转型AI Agent开发具有天然优势,如成熟的Web技术栈、丰富的API调用经验和敏锐的产品交互思维。要转型成功,需补齐…...
双模型协作!OpenClaw同时调用Qwen3-4B与Codex完成编程任务
双模型协作!OpenClaw同时调用Qwen3-4B与Codex完成编程任务 1. 为什么需要双模型协作 作为一个经常需要写代码的技术博主,我一直在寻找更高效的编程方式。传统的单模型调用虽然能完成基础任务,但在复杂场景下往往力不从心——要么生成的代码…...
如何用PeerDB构建企业级数据管道:从配置到监控的完整教程
如何用PeerDB构建企业级数据管道:从配置到监控的完整教程 【免费下载链接】peerdb Fast, Simple and a cost effective tool to replicate data from Postgres to Data Warehouses, Queues and Storage 项目地址: https://gitcode.com/gh_mirrors/pe/peerdb …...
OpenClaw离线部署方案:Qwen3-32B镜像在无网络环境中的适配改造
OpenClaw离线部署方案:Qwen3-32B镜像在无网络环境中的适配改造 1. 离线部署的核心挑战与解决思路 去年在给某研究所部署内部知识管理系统时,我第一次遇到完全隔离的局域网环境。当时尝试用OpenClaw对接Qwen模型,发现官方默认安装流程完全依…...
RoBERTa 微调:防过拟合终极调参手册
🛡️ RoBERTa 微调:防过拟合终极调参手册核心逻辑:在数据量有限(~2.6k)的情况下,通过限制模型容量(冻结/Dropout)和平滑优化过程(Weight Decay/Label Smoothingÿ…...
宿主机与虚拟机网络配置打通
Kali 虚拟机网络配置笔记 一、基础网络模式 1. 桥接模式 (Bridged) 目的:让虚拟机加入物理局域网配置: 选择物理网卡(非VMnet1/VMnet8)启用"复制物理网络连接状态"(推荐笔记本用户) 结果…...
expected_conditions(EC)与元素相关的常用方法
与元素(Element)相关的 expected_conditions,分为存在、可见、可点击、不可见/消失、属性/文本、选中状态等几类引用:from selenium.webdriver.support import expected_conditions as EC1. 元素存在(Presence…...
StreamLib嵌入式流处理库:高效HTTP通信与缓冲优化
1. StreamLib 嵌入式流处理库深度解析:面向资源受限系统的高效网络与HTTP通信设计在嵌入式系统开发中,尤其是基于Arduino生态的MCU平台(如ESP32、ESP8266、STM32 Arduino Core),网络通信性能瓶颈往往并非来自物理层带宽…...
