iCopy和fclone和TG-bot构建gd转存保姆教程

文章目录

视频教程观看和下载地址(版本更新较大,视频仅作参考):

在线看①在线看②
网盘下载① 网盘下载②提取码:ufdv

2020-8-24更新:

更新本教程命令,关于版本变化请查看:
iCopy升级到- v0.2.1-beta.1及后变化(个人建议不推荐升级)

2020-7-22更新:

1.更新获取和使用icopy脚本命令。 2.更新TG-bot菜单命令。 3.更新博客日志部分文章设置顺序,使其更加符合逻辑。 4.更新iCopy - v0.2.0-beta.1及之前版本如何获取最新版本的教程

2020-7-31更新:

更新命令

一、准备(不讲)

1.bot-id:

bot通过@BotFather获得,输入/newbot、输入机器人名称、输入机器人用户名(以***bot结束),成功,获得

Use this token to access the HTTP API:

12345678:****

(红色部分即需要使用的bot id)

2.你自己的用户id

获得方法自己谷歌

3.sa账号群组(autoclone获得)且已经加入你的TD,是内容管理员权限。

不讲

4.使用ssh工具:

MobaXterm v20.0中文汉化专业版

二、环境

1.ubuntu18.04*64( V(以下简称v。)。。ps或者虚拟机安装,虚拟机全程可连全球,懂的都懂)

①安装ubuntu 18.04x64(略)

使用MobaXterm v20.0中文汉化专业版 ssh连接登录 注意全程使用root账号操作
在这里插入图片描述
在这里插入图片描述

2.python3.7

②安装python3.7

参考文章:Ubuntu18.04x64更新Python3.7,并改变python3指向,和遇到的坑

3.screen

③安装screen

参考文章:Ubuntu安装screen
输入screen -ls查看是否安装screen

在这里插入图片描述
说明已经自动安装
若遇到错误bash: screen: command not found,那就是说明没有安装.根据参考文章自行安装

三、开始安装

使用mongodb数据库有两种方法,
使用本地化mongodb或者使用服务器mongodb
服务器mongodb教程请看(强烈推荐):iCopy深度理解创建思路日记
参考文章:
1.本地化安装 mongodb 教程完整步骤
2.iCopy v0.2.0a13 安装教程

①本地化安装mongodb

1.通常组建升级以及安装

复制,粘贴

sudo apt update -y
sudo apt upgrade -y
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt-get update
sudo apt-get install -y mongodb-org

在这里插入图片描述

2.修改系统 ulimit 限制 根据以下步骤做一遍

step 1)
nano /etc/sysctl.conf

添加以下行

fs.file-max = 6553500

在这里插入图片描述

保存ctrl+x ,y,enter
在这里插入图片描述

退出执行以下命令

sysctl -p
step 2)
nano /etc/security/limits.conf

复制添加以下行

* soft memlock unlimited
* hard memlock unlimited
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

root soft memlock unlimited
root hard memlock unlimited
root soft nofile 65535
root hard nofile 65535
root soft nproc 65535
root hard nproc 65535

在这里插入图片描述
保存退出

step 3) 若没有以下文件则自行创建

经过查找有这个文件,所以直接输入命令
在这里插入图片描述

nano /etc/pam.d/common-session

添加以下行

session required pam_limits.so

在这里插入图片描述

保存退出,重新登录SSH查看

ulimit -a

在这里插入图片描述

3.接下来我们要对 mongodb 进行开启账号密码验证及授权

首先打开 2个 SSH 登录到你的VPS 同时登录2个窗口

窗口1)仅输入以下命令作为临时启动

mongod --port 27017 --dbpath /var/lib/mongodb

窗口2)输入以下命令

mongo --port 27017

在这里插入图片描述
在这里插入图片描述

以下步骤均在窗口2中操作
1)创建用户 自行填写并记住下面的 account 和 passwd ,确认无误后回车
use admin
db.createUser(
  {
    user: "account",
    pwd: "passwd",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

在这里插入图片描述
在这里插入图片描述

2)添加用户后输入以下命令重启一次mongod 显示failed正常不用管
db.adminCommand( { shutdown: 1 } )

在这里插入图片描述

3)退出mongo shell 2 次 ctrl + c
ctrl + c
ctrl + c
4)此时之前打开的窗口1)也可以关闭退出了

在这里插入图片描述

4.继续编辑配置文件

nano /etc/mongod.conf

复制以下内容至配置文件

security:
    authorization: enabled

在这里插入图片描述

修改以下内容

bindIp: 0.0.0.0

在这里插入图片描述
保存退出

重新授权文件属性

cd /var/lib/mongodb
sudo chown -R mongodb:mongodb *

返回根目录

cd ~

5.对mongod服务进行添加并管理

重新载入 mongod 服务

systemctl daemon-reload

设置开机启动

systemctl enable mongod

停止一次 mongod

systemctl stop mongod

开启 mongodb数据库

systemctl start mongod

至此 standalone mongodb 已经配置完毕

日常管理命令

systemctl start mongod
systemctl restart mongod
systemctl stop mongod
systemctl status mongod

②安装icopy v0.2.0–

请准备好python3.6+ 版本,直接3.7/3.8版本会更好。(前文已经准备好)

1.安装fclone。

1)安装解压工具
apt install unzip
2)下载fclone
bash <(wget -qO- https://git.io/JJYE0)

在这里插入图片描述

3)解压刚才下载的fclone

在这里插入图片描述

unzip fclone-v0.3.1-linux-amd64.zip

4)移动 解压得到的fclone到/usr/bin

在这里插入图片描述

mv /root/fclone-v0.3.1-linux-amd64/fclone /usr/bin

在这里插入图片描述

3)设置fclone权限为777

在这里插入图片描述

4)上传json文件到/root/accounts/sa

根据下文你设置的配置文件信息设置sa文件路径

作者本人是在 /root中创建/accounts/sa文件夹,在里面上传了我的所有的sa的json文件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

上传方法有很多,我就不多做演示了,不会百度吧
一定要记好.json文件所在位置,下文配置要用到!

4)配置fclone
方法一(复杂):输入 fclone config
  • 第一步选择 n ,然后给remote新的名这里用 gc ",一定要记好,下文配置要用到
  • 第二部选择 13,client_id 和 client_secret 默认不填。
  • 第三步选择 scope 填1 ,root_folder_id 默认不填。
  • 第三步重要关键的一步打开左边文件夹,找到root/accounts/sa 下的任意 json 文件右键复制路径如 /root/accounts/sa/02d62cb52b2ac72d2c78c5b1b529b202acaf591a.json
    (一定要注意sa_path位置和你设置的.json所在目录目录一样!!!这一步很容易出错!)
  • 第五步 service_account_file_path> 填入 /root/accounts/sa/ (别忘了最后还有个斜杠“/”,这一步很容易出错!)
  • 第六步 Edit advanced config? (y/n) 选择 n .
  • 第七步 Configure this as a team drive? 填 y .什么都不填,回车
    -第八步 Y,q
方法二(简单):直接创建一个rclone.conf,权限设置为600

放在/root/.config/rclone/下
内容为

[gc]  # 这里填你的remote文件名
type = drive
scope = drive
service_account_file = /root/accounts/sa/001cdcb95678b4ff183bccccc4486872a052cb61.json # 这里填你sa文件所在的目录中的随便一个json文件 
service_account_file_path = /root/accounts/sa/ # 这里填你sa文件目录,
team_drive =

只需改service_account_file和service_account_file_path,其他不用管

2.然后把icopy 0.2.0a11 用git clone下来

1.获取

git clone -b _0_2 https://github.com/fxxkrlab/iCopy.git

2020-7-22 更新:获取iCopy - v0.2.0-beta.4.1

cd ~
git clone https://github.com/fxxkrlab/iCopy.git
2.复制一份示例配置文件(conf.toml.example)
cp iCopy/config/conf.toml.example iCopy/config/conf.toml
3.修改配置文件(conf.toml)

在这里插入图片描述
在这里插入图片描述
注:iCopy conf.toml中的数据库的链接内容按照以下格式填写

db_connect_method = "mongodb"
db_addr = "localhost"
db_port = 27017
db_name = "iCopy"
db_user = "你上面填写的account"
db_passwd = "你上面填写的密码"

1.db_connect_method 的 mongodb+srv 换成mongodb

2.db_addr 填入 localhost

3.db_user 和 db_passwd 换成刚才mongodb数据库设置的用户名和密码
在这里插入图片描述

在这里插入图片描述

设置好后保存退出

5.配置好后 我们就准备安装模块
cd iCopy

下面这两个指令是进入虚拟环境,可以避免些问题。如果你认为不需要可以跳过。

python3 -m venv .
. ./bin/activate

安装需要的模块

apt install python3-pip

y回车

pip3 install  oauth2client

2020-8-24更新(新增代码):

apt-get install python3-dev
apt-get install python3.6-dev
sudo apt-get install python3.7-dev

2020-7-22更新(新增一串代码):

chmod +x iCopy.py

回车

pip3 install -r requirements.txt

回车
更新icopy为最新版

git pull

确认安装完成 没有任何报错 就可以启动脚本

python3 iCopy.py

在这里插入图片描述

启动后如果报错提示 The “dnspython” module must be installed to use mongodb+srv 就安装
pip3 install pymongo[srv]

如果使用中出现下图的警告,不影响使用。只要每次添加id(目标/源)都会提示一次,所以无视就好.
在这里插入图片描述
进入机器人进行测试
有问题自行百度解决

③设置screen中开启

参考文章:
linux 技巧:使用 screen 管理你的远程会话
Linux 下screen命令的使用

方法一:

建立

screen -dmS icopy

进入

screen -r icopy

开启icopy脚本

cd /root/iCopy
python3 iCopy.py

2020-7-22更新:方法二(简单):

cd ~
cd iCopy
screen -dmS iCopy `which python3` iCopy.py

完成!愉快玩耍吧!

④其他亿些细节

1.升级

必须进入iCopy目录才能升级

cd iCopy
git pull

2.看fclone 的错误日志(无错误不会生成)

/root/icopy_cloner_debug.log

3.根命令列表:(可通过botfather中的/setcommands进行设置)

2020-7-22更新:
2020-7-31更新:
(botfather只支持根命令不支持子命令设置)
start - 主入口 选择模式 (iCopy - v0.2.0-beta.2及以后版本不再支持)
menu - 主入口/选择模式
quick - 极速模式
copy - 自定义模式
set - 自定义设置
cancel - 取消对话
size - 查询大小
reset - 重置任务(后面可跟id)
dedupe - 删除重复文件
purge - 清空指定盘回收站
task - 任务查询
kill - 杀死进程中任务
ver - 检查iCopy版本
restart - 重新启动iCopy

4.子命令列表:

set - 自定义设置
┖ set - 支持批量设置
┖ set rule - 查看规则
┖ set fav|quick +/- id - 单条收藏夹设置
┖ set purge - 清空所有收藏夹(慎重)
task - 任务查询
┖ task - 当前任务查询
┖ task list - 未来10条任务查询
┖ task id - 显示指定id任务
size - size query
┖ size - 查询大小
┖ size id - 指定id查询
┖ size fav - 收藏夹指定查询
dedupe - 删除重复文件
┖ dedupe - 删除收藏夹重复文件
┖ dedupe id - 删除指定id任务重复文件
┖dedupe rmdir - 清除根目录中的空文件夹
reset - 重新执行任务
┖ reset - 重新执行当前任务
┖ reset id - 重新执行指定id任务
kill - 终止进程
┖kill size - 终止查询大小
┖kill purge - 终止清空回收站
┖kill dedupe - 终止清除重复文件

5.如何设置v重启时脚本自动开启

自行百度crontab,systemd 启动服务
参考教程(仅粉丝可见):iCopy日记,开机自启

⑤2020-7-22更新:iCopy - v0.2.0-beta.1及之前版本如何获取最新版本

以iCopy - v0.2.0-beta.1为例子:由于作者更换了分支,所以需要更改分支(懒人直接rm-吧)

为防止意外,建议备份conf.toml
在这里插入图片描述
1、使用screen名字,kill掉。

  screen -S session_name -X quit

例如:

screen -S iCopy -X quit

2.更改分支
参考文章:git命令-切换分支
cd iCopy
查看远程分支
git branch -a

查看本地分支
git branch

切换分支
git checkout -b master origin/master

在这里插入图片描述

最后感言

感谢各位大佬的无私帮助我才能有这个教程!再次感谢sharegdrive群组里的各位大佬!也感谢作者们的辛勤付出!项目地址:iCopy , fclone

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值