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

文章目录

  • 视频教程观看和下载地址(版本更新较大,视频仅作参考):
  • 2020-7-22更新:
  • 2020-7-31更新:
  • 一、准备(不讲)
    • 1.bot-id:
    • 2.你自己的用户id
    • 3.sa账号群组(autoclone获得)且已经加入你的TD,是内容管理员权限。
    • 4.使用ssh工具:
  • 二、环境
    • 1.ubuntu18.04*64( V(以下简称v。)。。ps或者虚拟机安装,虚拟机全程可连全球,懂的都懂)
      • ①安装ubuntu 18.04x64(略)
    • 2.python3.7
      • ②安装python3.7
    • 3.screen
      • ③安装screen
  • 三、开始安装
    • ①本地化安装mongodb
      • 1.通常组建升级以及安装
      • 2.修改系统 ulimit 限制 根据以下步骤做一遍
        • step 1)
        • step 2)
        • step 3) 若没有以下文件则自行创建
      • 3.接下来我们要对 mongodb 进行开启账号密码验证及授权
          • 首先打开 2个 SSH 登录到你的VPS 同时登录2个窗口
          • 以下步骤均在窗口2中操作
            • 1)创建用户 自行填写并记住下面的 account 和 passwd ,确认无误后回车
            • 2)添加用户后输入以下命令重启一次mongod 显示failed正常不用管
            • 3)退出mongo shell 2 次 ctrl + c
            • 4)此时之前打开的窗口1)也可以关闭退出了
      • 4.继续编辑配置文件
      • 5.对mongod服务进行添加并管理
    • ②安装icopy v0.2.0--
      • 1.安装fclone。
        • 1)安装解压工具
        • 2)下载fclone
        • ~~3)解压刚才下载的fclone~~
        • ~~4)移动 解压得到的fclone到/usr/bin~~
        • 3)设置fclone权限为777
        • 4)上传json文件到/root/accounts/sa
        • 4)配置fclone
            • 方法一(复杂):输入 `fclone config`
            • 方法二(简单):直接创建一个rclone.conf,权限设置为600
      • 2.然后把icopy 0.2.0a11 用git clone下来
          • 1.获取
          • 2.复制一份示例配置文件(conf.toml.example)
          • 3.修改配置文件(conf.toml)
          • 5.配置好后 我们就准备安装模块
    • ③设置screen中开启
      • 方法一:
      • 2020-7-22更新:方法二(简单):
    • ④其他亿些细节
      • 1.升级
      • 2.看fclone 的错误日志(无错误不会生成)
      • 3.根命令列表:(可通过botfather中的/setcommands进行设置)
      • 4.子命令列表:
      • 5.如何设置v重启时脚本自动开启
    • ⑤2020-7-22更新:iCopy - v0.2.0-beta.1及之前版本如何获取最新版本
  • 最后感言

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

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

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账号操作
iCopy和fclone和TG-bot构建gd转存保姆教程_第1张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第2张图片

2.python3.7

②安装python3.7

参考文章:ubuntu安装python3.7,并更新python默认指向为python3.7
查看python的指向。

ls -l /usr/bin | grep python

iCopy和fclone和TG-bot构建gd转存保姆教程_第3张图片
可以看到此时python指向的是python3.6。
1.直接使用apt-get安装python3.7

apt-get install python3.7

iCopy和fclone和TG-bot构建gd转存保姆教程_第4张图片

按y回车

iCopy和fclone和TG-bot构建gd转存保姆教程_第5张图片

3.screen

③安装screen

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

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

三、开始安装

参考文章:
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

iCopy和fclone和TG-bot构建gd转存保姆教程_第6张图片

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

step 1)

nano /etc/sysctl.conf

添加以下行

fs.file-max = 6553500

iCopy和fclone和TG-bot构建gd转存保姆教程_第7张图片

保存ctrl+x ,y,enter
iCopy和fclone和TG-bot构建gd转存保姆教程_第8张图片

退出执行以下命令

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第9张图片
保存退出

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

经过查找有这个文件,所以直接输入命令
iCopy和fclone和TG-bot构建gd转存保姆教程_第10张图片

nano /etc/pam.d/common-session

添加以下行

session required pam_limits.so

iCopy和fclone和TG-bot构建gd转存保姆教程_第11张图片

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

ulimit -a

iCopy和fclone和TG-bot构建gd转存保姆教程_第12张图片

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

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

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

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

窗口2)输入以下命令

mongo --port 27017

iCopy和fclone和TG-bot构建gd转存保姆教程_第13张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第14张图片

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第15张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第16张图片

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第17张图片

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第18张图片

4.继续编辑配置文件

nano /etc/mongod.conf

复制以下内容至配置文件

security:
    authorization: enabled

iCopy和fclone和TG-bot构建gd转存保姆教程_第19张图片

修改以下内容

bindIp: 0.0.0.0

iCopy和fclone和TG-bot构建gd转存保姆教程_第20张图片
保存退出

重新授权文件属性

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)

iCopy和fclone和TG-bot构建gd转存保姆教程_第21张图片

3)解压刚才下载的fclone

iCopy和fclone和TG-bot构建gd转存保姆教程_第22张图片

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

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第23张图片

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

iCopy和fclone和TG-bot构建gd转存保姆教程_第24张图片

3)设置fclone权限为777

iCopy和fclone和TG-bot构建gd转存保姆教程_第25张图片

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

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

作者本人是在 /root中创建/accounts/sa文件夹,在里面上传了我的所有的sa的json文件
iCopy和fclone和TG-bot构建gd转存保姆教程_第26张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第27张图片

iCopy和fclone和TG-bot构建gd转存保姆教程_第28张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第29张图片

上传方法有很多,我就不多做演示了,不会百度吧
一定要记好.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和fclone和TG-bot构建gd转存保姆教程_第30张图片
iCopy和fclone和TG-bot构建gd转存保姆教程_第31张图片
注:iCopy conf.toml中的数据库的链接内容按照以下格式填写

db_connect_method = "mongo"
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数据库设置的用户名和密码
iCopy和fclone和TG-bot构建gd转存保姆教程_第32张图片

iCopy和fclone和TG-bot构建gd转存保姆教程_第33张图片

设置好后保存退出

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

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

python3 -m venv .
. ./bin/activate

安装需要的模块

apt install python3-pip

y回车

pip3 install  oauth2client

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

chmod +x iCopy.py

回车

pip3 install -r requirements.txt

回车
更新icopy为最新版

git pull

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

python3 iCopy.py

iCopy和fclone和TG-bot构建gd转存保姆教程_第34张图片

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

如果使用中出现下图的警告,不影响使用。只要每次添加id(目标/源)都会提示一次,所以无视就好.
iCopy和fclone和TG-bot构建gd转存保姆教程_第35张图片
进入机器人进行测试
有问题自行百度解决

③设置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 启动服务

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

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

为防止意外,建议备份conf.toml
iCopy和fclone和TG-bot构建gd转存保姆教程_第36张图片
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

iCopy和fclone和TG-bot构建gd转存保姆教程_第37张图片

最后感言

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

你可能感兴趣的:(TG转存Bot)