COS使用FTP
前言:之前买了个COS对象存储,虽然不贵吧,但是没用就很难受好吧,本来还想当个同步盘的,结果外网下载需要另收费,真是尼玛绝了,合着我只买了一个存储的,其他的都要另算钱。只有走腾讯云内网的不花钱,那我搭一个云盘然后走腾讯云内网,再走服务器公网?吃饱了撑着。简而言之,这玩意儿对我来说就是个鸡肋。但还是要废物利用的,正好看到wordpress的自动备份发送邮件失败了,因为附件太大了,目前就有68M了,有个onedrive备份的还是付费的,FTP正好不需要钱(SFTP就需要了),这不正好拿来当备用容灾嘛,简直不要再合适了,于是就开干。
由于COS不支持FTP,需要有一个中转的ftp server,虽然这个方案不推荐使用,但我无所谓了,毕竟走的是腾讯云内网,如果不走,上传也本身不费流量的,所以无所谓了。
安装Python2
需要python2
sudo add-apt-repository universe
sudo apt update
sudo apt install python2
安装pip2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py
pip2 --version
安装cos-ftp-server
git clone https://github.com/tencentyun/cos-ftp-server-V5.git
首先,运行setup.py安装ftp server及其相关的依赖库(需要联网):
sudo python2 setup.py install # 这里可能需要sudo或者root权限
将配置示例文件conf/vsftpd.conf.example复制命名为conf/vsftpd.conf,参考下面的配置信息 ,正确配置 bucket 和用户信息。记得删掉注释。
secretid和secretkey需要从API 密钥管理获取。
[COS_ACCOUNT_0]
cos_secretid = 你的id
cos_secretkey = 你的key
cos_bucket = cos存储桶的名字
cos_region = ap-beijing 所在地
cos_protocol = https
#cos_endpoint = region.myqcloud.com
home_dir = /home/ubuntu
ftp_login_user_name=随便设账户
ftp_login_user_password=随便设密码
authority=RW
delete_enable=true
[NETWORK]
masquerade_address = XXX.XXX.XXX.XXX
listen_port = 2121
passive_port = 60000,65535
[FILE_OPTION]
single_file_max_size = 1073741824
[OPTIONAL]
config_check_enable = false
min_part_size = default
upload_thread_num = default
max_connection_num = 64
max_list_file = 10000
log_level = INFO
log_dir = log
运行ftp_server.py 启动 FTP Server:
python2 ftp_server.py
使用nohup命令,以后台进程方式启动:
nohup python2 /home/ubuntu/software/cos-ftp-server-V5/ftp_server.py >> /dev/null 2>&1 &
#停止运行
ps -ef | grep python | grep ftp_server.py | grep -v grep | awk '{print $2}' | xargs -I{} kill {}
然后通过你的内网ip访问,然后输入账户密码就可以了
ftp 10.0.8.3 2121
下面就是正常的操作结果:
ubuntu:~$ ftp 10.0.8.3 2121
Connected to 10.0.8.3.
220 Welcome to COS FTP Service
Name (10.0.8.3:ubuntu): cos
331 Username ok, send password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
UpdraftPlus使用FTP
到插件的设置里面,选择FTP,然后填写信息,别忘了带上端口号。

定时备份
登录ftp上传文件,upload.sh
#从本地向FTP批量上传文档
#!/bin/sh
ftp -v -n 192.168.0.199<<EOF
user ftpuser ftppwd
binary
hash
cd /ftphome/uploadData
lcd /ftphome/getUploadData
prompt
mput *
bye
#here document
EOF
echo "commit to ftp successfully"
输出日志文件:
#!/bin/bash
export today=`date +%Y%m%d`
export log=/home/ubuntu/software/bitwarden/ftplog/ftp_$today.log
/bin/sh /home/ubuntu/software/bitwarden/upload.sh > "$log" 2>&1 &
然后添加定时任务
crontab -e
# 每天六点备份一遍
0 6 * * * /home/ubuntu/software/bitwarden/main.sh





