首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
57 阅读
2
aris常用命令收集
32 阅读
3
【N1和Armbian】一、N1刷Linux系统armbian
31 阅读
4
docker更新现有容器为自动重启
27 阅读
5
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
25 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
模块一
端口
模块五
数据库
模块九
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
590
篇文章
累计收到
10
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
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日
10 阅读
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日
9 阅读
0 评论
0 点赞