发布于 
pv: - | uv: -

UBUNTU定时备份文件夹到FTP

前言

唉,最近被十年之约的人说我很多文章质量不佳,唉,看来不能水文了。/笑哭.png

因为一些原因,怕自己私有云的文件突然消失,,就写了份脚本来自动备份文件到FTP服务器.所以这期,我就来写一篇关于Ubuntu如何自动备份文件到FTP吧

BEGIN

NOTICE:这里我们假设自动备份的文件夹是XC,假设这个文件夹在/home/ubuntu中.假设FTP服务器ip: 192.168.1.100用户名admin密码admin1(这里做下演示,备份其他文件夹只需修改路径等信息,如有疑问,请在文章下方评论。)
1.首先我们可以通过SSH连接到服务器,连接好了之后如果不是root登录的话输入sudo -s提权
2.我们进入XC的上一级目录(/home)新建一个文件,输入vim put.sh命名成put.sh按下按键i编辑内容:

cd /&&cd /home&&sudo tar zcvf xc.tar.gz xc/
#!/bin/bash
ftp -n<<!
open 192.168.1.100
user admin admin1
delete xc.tar.gz
put xc.tar.gz
exit
!
rm xc.tar.gz

解释:

cd /
#先去根目录,避免出错
cd /home
#前往home文件夹
sudo tar zcvf xc.tar.gz xc/
#压缩xc文件夹
#!/bin/bash
ftp -n<<!
open 192.168.1.100
#连接FTP服务器
#注释:   -n 不受.netrc文件的影响。(ftp默认为读取.netrc文件中的设定)   << 是使用即时文件重定向输入。
user admin admin1
#使用账号admin和密码admin1登录ftp服务器
delete xc.tar.gz
#避免文件重复 所以这里删除FTP服务器上上一次备份的文件
put xc.tar.gz
#上传xc文件夹的压缩包
exit
#退出FTP
!
#注释:
#!是即时文件的标志它必须成对出现,以标识即时文件的开始和结尾。
rm xc.tar.gz
#删除本地文件夹上的xc文件夹压缩包。

3.接下来,如果你安装了宝塔的,可以通过宝塔计划任务,来定时执行它。
cd /&&cd /home&&./put.sh
如果你没有安装宝塔的你可以参考lewo的博客