首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
37 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
博客简介
11 阅读
4
【N1安装飞牛优化四】关闭不必要服务优化记录
11 阅读
5
SSH如何访问fe80开头的ipv6????
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
587
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
3
篇与
的结果
2023-07-12
Docker系列 搭建跨平台自动备份服务duplicati
什么是 Duplicati ?Duplicati 是一个免费的开源备份客户端,可将加密的、增量的、压缩的备份安全地存储在云存储服务和远程文件服务器上。支持 Amazon S3、IDrive e2、Backblaze (B2)、Box、Dropbox、FTP、Google Cloud 和 Drive、HubiC、MEGA、Microsoft Azure 和 OneDrive、Rackspace 云文件、OpenStack Storage (Swift)、Sia、Storj DCS、SSH (SFTP) 、WebDAV、腾讯云对象存储(COS)等!安装在群晖上以 Docker 方式安装。【注意】:强烈不建议用群晖内置的图像方式安装,因为可以选择的源目录比较有限。命令行安装用 docker cli 不仅更快捷,更能方便的指定要备份的源目录# 新建文件夹 duplicati 和 子目录 mkdir -p /volume2/docker/duplicati/{backups,config} # 进入 duplicati 目录 cd /volume2/docker/duplicati # 运行容器 docker run -d \ --restart unless-stopped \ --name=duplicati \ -p 8200:8200 \ -v $(pwd)/config:/config \ -v $(pwd)/backups:/backups \ -v </path/to/source>:/source \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ linuxserver/duplicati:latest # 示例(疯子是以 root 身份运行的,并且挂载目录为:root) docker run -d \ --restart unless-stopped \ --name=duplicati \ -p 8200:8200 \ -v $(pwd)/config:/config \ -v $(pwd)/backups:/backups \ -v /root:/source \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ linuxserver/duplicati:latest 关于卷的说明:文件夹装载路径说明docker/duplicati/backups/backups存储本地备份的路径docker/duplicati/config /config 存放设置文件</path/to/source> /source 要备份的文件的源路径因为 Duplicati 采用了 docker 方式部署,所以要把源目录映射到容器中,疯子中老苏把 root’ 作为了源;关于环境变量的说明可变值TZ设为 Asia/ShanghaiPUID设为 0PGID设为 0CLI_ARGSCLI 变量CLI 变量请参考官方文档:https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/运行在浏览器中输入 http://群晖IP:8220 就能看到主界面如果你是自己一个人用,选 No ,否则就选 Yes,然后设置一个密码新建一个备份项目如果备份位置疯子的是选择 本地文件夹或磁盘当然也可以选择保存到远端,支持的协议很多疯子选了 Google Drive,备份位置指向了Google Drive测试连接 正常的话,可以进行下一步找到我们之前映射的 source设置备份计划一些常规选项,如果默认的话,文件将按 50M 分割从安全性考虑,建议采用加密到这里任务就建好了!image-1689147720061
2023年07月12日
3 阅读
0 评论
0 点赞
2022-11-24
vmocean纯ipv6的Apline系统下使用 Rclone 挂载 google drive 实现定时备份
前言通过 Apline 搭建的docker环境建站虽然没有宝塔面板方便但是对系统环境影响最小,可是备份是个问题。如果用的是大厂云服务器可以通过设置定时系统快照任务来备份,但是轻量云却不支持设置定时快照(腾讯云),宝塔面板自带很多易用的备份插件,我常用的是 OneDrive 备份,于是想到可以通过 Rclone 在服务器上挂载 google drive,然后编写一个简易备份脚本配合 Cron 任务来实现定时备份。下载安装Apline系统直接使用命令安装吧!apk add rclone初始化配置安装完成后输入:rclone config可以看到:No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> googledrive输入 n 新建一个配置,name 为你的配置名称,可以自定义,这里我输入的是 googledrive 。然后会出现挂载的服务类型,如下:Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. 1 / 1Fichier \ (fichier) 2 / Akamai NetStorage \ (netstorage) 3 / Alias for an existing remote \ (alias) 4 / Amazon Drive \ (amazon cloud drive) 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS \ (s3) 6 / Backblaze B2 \ (b2) 7 / Better checksums for other remotes \ (hasher) 8 / Box \ (box) 9 / Cache a remote \ (cache) 10 / Citrix Sharefile \ (sharefile) 11 / Compress a remote \ (compress) 12 / Dropbox \ (dropbox) 13 / Encrypt/Decrypt a remote \ (crypt) 14 / Enterprise File Fabric \ (filefabric) 15 / FTP Connection \ (ftp) 16 / Google Cloud Storage (this is not Google Drive) \ (google cloud storage) 17 / Google Drive \ (drive) 18 / Google Photos \ (google photos) 19 / Hadoop distributed file system \ (hdfs) 20 / Hubic \ (hubic) 21 / In memory object storage system. \ (memory) 22 / Jottacloud \ (jottacloud) 23 / Koofr, Digi Storage and other Koofr-compatible storage providers \ (koofr) 24 / Local Disk \ (local) 25 / Mail.ru Cloud \ (mailru) 26 / Mega \ (mega) 27 / Microsoft Azure Blob Storage \ (azureblob) 28 / Microsoft OneDrive \ (onedrive) 29 / OpenDrive \ (opendrive) 30 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ (swift) 31 / Pcloud \ (pcloud) 32 / Put.io \ (putio) 33 / QingCloud Object Storage \ (qingstor) 34 / SSH/SFTP Connection \ (sftp) 35 / Sia Decentralized Cloud \ (sia) 36 / Storj Decentralized Cloud Storage \ (storj) 37 / Sugarsync \ (sugarsync) 38 / Transparently chunk/split large files \ (chunker) 39 / Union merges the contents of several upstream fs \ (union) 40 / Uptobox \ (uptobox) 41 / Webdav \ (webdav) 42 / Yandex Disk \ (yandex) 43 / Zoho \ (zoho) 44 / http Connection \ (http) 45 / premiumize.me \ (premiumizeme) 46 / seafile \ (seafile) Storage> 17输入你要挂载的网盘序号,我要挂载的 googledrive 是 17,⚠️注意:序号不固定,请自行确认client_id 和 client_secret直接回车默认即可,(也可以自行创建,怎么创建我就不说了,有点麻烦。可以看官方文章:https://rclone.org/drive/ )然后会出现 权限 选择,如下:Option scope. Scope that rclone should use when requesting access from drive. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Full access all files, excluding Application Data Folder. \ (drive) 2 / Read-only access to file metadata and file contents. \ (drive.readonly) / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ (drive.file) / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ (drive.appfolder) / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ (drive.metadata.readonly) scope> 1 然后是选择是否进行高级配置,保持默认回车即可:Edit advanced config? y) Yes n) No (default)接着是自动配置选择,如下:Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes (default) n) No[blockquote2 name='洛维花']因为你的服务器并没有图形化界面无法使用浏览器打开网页,这里需要选择 n,[/tip]这里需要获取授权码并输入:Option config_token. For this to work, you will need rclone available on a machine that has a web browser available. For more help and alternate methods see: https://rclone.org/remote_setup/ Execute the following on the machine with the web browser (same rclone version recommended): rclone authorize "drive" "eyJjbGllbnRfaWQ1iOiIyOTE1ODgwMjc5MzctdWUzbm52b2tmdnYzcHBqYjVpcjZhdmdibGlzMWEyZ3EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJjbGllbnRfc2VjcmV0IjoiR09DU1BYLUtYUnRmLXpxOXNtX2FObEQ2sbjJDaHg2ZzZKR1oiLCJzY29wZSI6ImRyaXZlIn0" Then paste the result. Enter a value. config_token> 授权码需要在本地电脑上获取,访问 https://rclone.org/downloads/ 根据你的电脑系统版本下载对应的 Rclone,下载完成后解压,这边用的是mac系统,所以需要下载的是mac版本。打开终端进入到下载的rclone目录。cd downloads cd rclone-v1.60.1-osx-amd64 ./rclone authorize "drive" "eyJjbGllbnRfaWQ1iOiIyOTE1ODgwMjc5MzctdWUzbm52b2tmdnYzcHBqYjVpcjZhdmdibGlzMWEyZ3EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJjbGllbnRfc2VjcmV0IjoiR09DU1BYLUtYUnRmLXpxOXNtX2FObEQ2sbjJDaHg2ZzZKR1oiLCJzY29wZSI6ImRyaXZlIn0"浏览器应该会自动打开,如果浏览器没有打开可以根据提示复制地址访问。如果浏览器登录了 googledrive 的话会直接显示授权确认信息,如果没有登录的话会弹出登录页面,登录 googledrive 后也会显示授权确认信息。选择 接受 后在本地命令行会显示一串 JSON 格式的授权信息,复制授权信息包括首尾的 {},到 Linux 终端粘贴。然后,直接回车默认Configure this as a Shared Drive (Team Drive)? y) Yes n) No (default) y/n> 确认无误后输入 y 或者直接回车,接着会显示你选择的配置信息,确认无误后输入 y 保存配置。备份脚本备份脚本摘抄自,秋水逸冰 博客。原文链接:https://teddysun.com/469.html下载该脚本并赋予执行权限wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh chmod +x backup.sh修改并配置脚本请使用 vim 或 nano 等工具来修改。ENCRYPTFLG (加密FLG,true 为加密,false 为不加密,默认是加密)BACKUPPASS (加密密码,重要,务必要修改)LOCALDIR (备份目录,可自己指定)TEMPDIR (备份目录的临时目录,可自己指定)LOGFILE (脚本运行产生的日志文件路径)MYSQL_ROOT_PASSWORD (MySQL/MariaDB/Percona 的 root 用户密码)MYSQL_DATABASE_NAME (指定 MySQL/MariaDB/Percona 的数据库名,留空则是备份所有数据库)[blockquote2 name='洛维花'] ※ MYSQL_DATABASE_NAME 是一个数组变量,可以指定多个。举例如下:[/tip]MYSQL_DATABASE_NAME[0]="phpmyadmin" MYSQL_DATABASE_NAME[1]="test"BACKUP (需要备份的指定目录或文件列表,留空就是不备份目录或文件)[blockquote2 name='洛维花'] ※ BACKUP 是一个数组变量,可以指定多个。举例如下:[/tip]BACKUP[0]="/data/www/default/test.tgz" BACKUP[1]="/data/www/default/test/" BACKUP[2]="/data/www/default/test2/"LOCALAGEDAILIES (指定多少天之后删除本地旧的备份文件,默认为 7 天)DELETE_REMOTE_FILE_FLG (删除 Google Drive 或 FTP 上备份文件的 FLG,true 为删除,false 为不删除)RCLONE_NAME (设置 rclone config 时设定的 remote 名称,务必要指定)RCLONE_FOLDER (指定备份时设定的 remote 的目录名称,该目录名在 Google Drive 不存在时则会自行创建。默认为空,也就是根目录)RCLONE_FLG (上传本地备份文件至 Google Drive 的 FLG,true 为上传,false 为不上传)FTP_FLG (上传文件至 FTP 服务器的 FLG,true 为上传,false 为不上传)FTP_HOST (连接的 FTP 域名或 IP 地址)FTP_USER (连接的 FTP 的用户名)FTP_PASS (连接的 FTP 的用户的密码)FTP_DIR (连接的 FTP 的远程目录,比如: public_html)一些注意事项的说明:1)脚本需要用 root 用户来执行;2)脚本需要用到 openssl 来加密,请事先安装好;3)脚本默认备份所有的数据库(全量备份);4)备份文件的解密命令如下:openssl enc -aes256 -in [ENCRYPTED BACKUP] -out decrypted_backup.tgz -pass pass:[BACKUPPASS] -d -md sha15)备份文件解密后,解压命令如下:tar -zxPf [DECRYPTION BACKUP FILE]解释一下参数 -P:tar 压缩文件默认都是相对路径的。加个 -P 是为了 tar 能以绝对路径压缩文件。因此,解压的时候也要带个 -P 参数。[blockquote2 name='洛维花']因为疯子使用的系统是:Apline系统,所以需要安装:bash,tar,openssl,安装命令如下:[/tip]apk add bash apk add tar apk add openssl运行脚本开始备份./backup.sh脚本默认会显示备份进度,并在最后统计出所需时间。如果你想将脚本加入到 cron 自动运行的话,就不需要前台显示备份进度,只写日志就可以了。这个时候你需要稍微改一下脚本中的 log 函数。log() { echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1" echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE} }改为:log() { echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE} }Apline定时备份关于如何使用 cron 自动备份,网上有一堆教程,这里以Apline 来举例说明。首先alpine内嵌的是BusyBox,使用alpine的crontab实际就是使用BusyBox的crond服务,那么下来就简单介绍下如何使用吧,网上教程还是比较多的:配置文件存放位置:配置文件是在如下目录中的/var/spool/cron/crontabs/使用方式向crontab的配置文件中添加配置vi /var/spool/cron/crontabs/root # 或者 crontab -e # 填入如下内容,最后一行为我添加的任务 # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly 30 1 * * * cd /root/ && ./backup.sh 以上表示,每天凌晨 1 点 30 分,进入root目录执行一次 backup.sh 脚本。注意:一定要修改其中的 PATH 和 HOME 变量的值。尤其是 HOME 变量,rclone 命令能否正确执行,是要依赖于其配置文件的。用 root 用户配置的话,其配置文件夹应该是 /root/.config/rclone ,所以要更改 HOME 的值。最后,欢迎交流和提出意见。如果是系统,那么会报错。报错:sh: 0: unknown operand backup.sh: line 53: MYSQL_DATABASE_NAME[0]=: not found backup.sh: line 59: BACKUP[0]=/qinglong: not found backup.sh: line 120: syntax error: unexpected "(" (expecting "fi")先查看一下:首先登录到容器内,查看sh的版本,(通常有ash、bash、sh等),bash-4.3# ls -l /bin/*sh lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/ash ->/bin/busybox -rwxr-xr-x 1 root root 682128 Apr 20 2017 /bin/bash lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/fdflush->/bin/busybox lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/sh ->/bin/busybox发现alpine中的sh使用的是bin/busybox(命令展示结果最后一行),因此需要将sh切换到/bin/bash下下面给出解决思路:删除原有链接;新建一个软链接指向/bin/bash,脚本实现如下:cd /bin && rm -f sh && ln -s /bin/bash sh最后再执行脚本,能正常运行,问题解决,当然可以将其写入到容器构建中,做成新的镜像,以后使用该镜像创建出来的容器都不会再出现这类问题了。
2022年11月24日
0 阅读
0 评论
0 点赞
2022-02-12
[CentOS/Ubuntu…]Linux 下载 Google Drive/Docs(谷歌硬盘/文档)
下载别人在 Google Drive 分享的文件” 工具环境要求wget 命令这个一般 Linux 系统都有 wget,如果没有,请使用系统自带的包管理器安装。如 CentOS 执行 sudo yum install wget -y 安装如 Ubuntu、Debian… 执行 sudo apt install wget -y 安装这里仅列出我用过的,其他的自行 Google、Baidu、Bing…perl 命令我服务器是 CentOS,默认安装了 perl。其它的就不清楚了,如果没有,请自行 Google、Baidu、Bing “如何安装 perl”能正常访问 Google Drive(这点不再累述)获取脚本下载脚本wget https://raw.githubusercontent.com/circulosmeos/gdown.pl/master/gdown.pl给予执行权限chmod +x gdown.pl使用此工具./gdown.pl "Google Drive 文件地址" "保存的文件名"使用实例举个栗子,我要下载 https://drive.google.com/uc?id=1GEnu4VboPXz7cLpFaS3Cd7QZZNtFYHgz&export=download 里的文件,并把它命名为 [Unofficial]LinageOS_16_mido.zip,则执行以下命令:./gdown.pl "https://drive.google.com/uc?id=1GEnu4VboPXz7cLpFaS3Cd7QZZNtFYHgz&export=download" "[Unofficial]LinageOS_16_mido.zip"
2022年02月12日
1 阅读
0 评论
0 点赞