安装及使用
提示:安装同步系统前,请提前安装好高级版或纯净版程序。

安装同步系统

首先使用SSH客户端,比如Xshell软件,登录服务器,再使用命令:

#纯净版系统运行该命令
curl -sL https://download.zhuanma.org/moeapp/shell/efvasync.sh | bash -s tof

#高级版系统运行该命令
curl -sL https://download.zhuanma.org/moeapp/shell/efvasync.sh | bash

同步系统默认安装路径为/opt/efvasync,安装成功后,还需要进行相关配置即可使用。

配置文件详解

提示:此处配置仅供参考理解,各存储具体配置看后面即可。

同步程序的配置文件路径/opt/efvasync/config.js,参数详解如下:

module.exports = {
    endPoint: '',  //节点地址
    port: 9000,  //节点端口,minio专用
    useSSL: false,  //minio专用
    accessKey: '',
    secretKey: '',
    region: '',
    bucket: '',
    servername: '',  //服务名称,又拍云专用
    operatorname: '',  //操作员名,又拍云专用
    operatorpassword: '',  //操作员密码,又拍云专用
    maoyundomain: "",  //云存储当前域名,猫云专用
    maoyunid: "",  //云存储bucketId,猫云专用
    googleBucket: "",  //Google Cloud Storage桶名称
    bunnyregion: "",  //Storage Zones Name节点,Bunny 专用
    bunnyapikey: '',  //Storage Zones API Access,Bunny专用
    bunnyzonename: '',  //Storage Zones Name,Bunny 专用
    ignored: ['**/*.mp4','**/*.jpg','**/*.gif'],  // 可以添加过滤任何后缀, 格式'**/*.houzhui,英文,隔开
    type: 'minio', //同步类型,共可选minio,s3,alioss,upyun,qiniu,wasabi,maoyun
    rootpath: '/home/express-ffmpeg',  //程序源码的绝对路径
    path: '/home/express-ffmpeg/public/videos',  //争对rootpath/public值进行截取,比如示例只同步videos文件夹
    remove: false,  //同步成功是否删除源文件,true为删除,false为不删除。
    removeignored: ['.m3u8', '.jpg', '.gif'],  //同步成功删除源文件时过滤某些后缀,不进行删除
}

关于rootpathpath参数值参考,建议直接根据安装路径,自行修改,大致如下:

#高级版程序,源码安装路径/home/express-ffmpeg
rootpath: '/home/express-ffmpeg',
path: '/home/express-ffmpeg/public/videos', 
    
#纯净版程序,源码安装路径/home/oneacg
rootpath: '/home/oneacg',
path: '/home/oneacg/app/public/videos', 

如果你不想同步某些文件,比如gitjpgmp4,则修改ignored参数即可,如下:

ignored: ['**/*.mp4','**/*.jpg','**/*.gif'],

如果你想同步后删除服务器上的文件,且删除过滤掉gitjpgts,则修改removeremoveignored参数即可,如下:

#如果你有同步mp4,不建议进行删除,不然同步过快,有小概率还没切片就把mp4给删了会导致切片没生成
remove: true,
removeignored: ['.jpg', '.ts', '.gif'],

如果你要使用到分发,则必须保留m3u8文件。

各存储设置

首先编辑配置文件/opt/efvasync/config.js,然后根据指定存储商,配置好相关同步参数,参考如下:

启动同步

编辑好配置文件后,再使用命令启动:

cd /opt/efvasync && pm2 start node.js --node-args="--max-old-space-size=8024" --name efvasyncall

相关命令

启动:cd /opt/efvasync && pm2 start node.js --node-args="--max-old-space-size=8024" --name efvasyncall
停止:pm2 stop efvasyncall
重启:pm2 reload efvasyncall
查看同步日志:pm2 log efvasyncall

注意事项

1、同步切片的时候,建议删除转码服务器的切片,可以节省转码服务器空间,也避免因同步量越来越大,造成同步不稳定等问题。
2、如果你不管怎么配置,都不给你同步,可能是服务器时间有问题,使用date命令查看即可,如有问题,使用下面这个命令修正:
date -s "$(curl -s --head https://www.baidu.com | grep ^Date: | sed 's/Date: //g') -000"
3、如果同步期间由于网络等因素,同步卡住了,可使用pm2 reload efvasyncall进行重启操作。