GVKun编程网logo

有没有FTP软件能在当地自动备份远程被覆盖的文件(ftp备份工具)

6

对于想了解有没有FTP软件能在当地自动备份远程被覆盖的文件的读者,本文将提供新的信息,我们将详细介绍ftp备份工具,并且为您提供关于CentOSLinux中MySQL自动备份及FTP远程备份、cron

对于想了解有没有FTP软件能在当地自动备份远程被覆盖的文件的读者,本文将提供新的信息,我们将详细介绍ftp备份工具,并且为您提供关于CentOS Linux中MySQL自动备份及FTP远程备份、crontab命令自动备份远程服务器mysql数据库、FtpCopy 数据定时自动备份软件(FTP 定时备份)、ftp在当地能往远程服务器上传文件,但是放到服务器上就不好使了的有价值信息。

本文目录一览:

有没有FTP软件能在当地自动备份远程被覆盖的文件(ftp备份工具)

有没有FTP软件能在当地自动备份远程被覆盖的文件(ftp备份工具)

有没有FTP软件能在本地自动备份远程被覆盖的文件?
有没有FTP软件能在本地自动备份远程被覆盖的文件?

分享到:
------解决方案--------------------
定时检测服务器上文件的最后更新时间,自动下载文件重命名就可以了。

CentOS Linux中MySQL自动备份及FTP远程备份

CentOS Linux中MySQL自动备份及FTP远程备份

安装环境:CentOS 6,MysqL5.5

一、背景

近期,公司为加强数据库的数据安全,对数据库进行自动备份,本篇将在Linux下使用crontab自动备份并FTP上传数据库。

二、实施脚本

创建脚本dbbackup.sh

#!/bin/bash
DATE=`date+%Y%m%d%H%M`
DATABASE=****#备份数据库
DB_USER=****#备份用户名
DB_PASS="*******"#备份用户名的密码
BACKUP=********#备份路径
/usr/local/MysqL/bin/MysqLdump-u$DB_USER-p$DB_PASS-h127.0.0.1-R--opt$DATABASE|gzip>${BACKUP}\/${DATABASE}_${DATE}.sql.gz#备份及压缩
sleep3

find$BACKUP-mtime+7|xargsrm-rf#删除7天以上的备份文件
sleep3

ftp-vn<<EOF
open*.*.*.2621#打开ftp服务器,21为ftp服务器端口
userusernamepassword#ftp用户名及密码
binary#二进制上传
cdbackup#切换ftp目录
lcd$BACKUP#切换本地目录
prompt#控制是否使用交互模式,使用关闭此功能
mput${DATABASE}_${DATE}.sql.gz#上传备份文件
close
bye
EOF

增加可执行权限

chmod+xdbbackup.sh

加入crontab计划任务,每天凌晨3点自动执行。

crontab-e
03***/root/dbbackup.sh>/dev/null2>&1

不足:因ftp上传中加入删除7天以上备份测试失败,所以未加入脚本中。且脚本中部分设置未使用变量,没实现邮件通知备份成功与否,后续将陆续改进。下篇将介绍sql Server备份并FTP上传小软件。

crontab命令自动备份远程服务器mysql数据库

crontab命令自动备份远程服务器mysql数据库

今天用通过在网上收集的信息和自己的实践整理,用crontab命令做了一个远程服务器上的数据库备份,希望对大家有用。 操作步骤与截图如下: 1.打开Putty,在这里输入密码,然后进入到如图所示: 2.创建保存备份文件的路径/mysqldata:在如上第二幅图的绿色地方

今天用通过在网上收集的信息和自己的实践整理,用crontab命令做了一个远程服务器上的数据库备份,希望对大家有用。

操作步骤与截图如下:

1.打开Putty,在这里输入密码,然后进入到如图所示:

\

\

2.创建保存备份文件的路径/mysqldata:在如上第二幅图的绿色地方输入如下信息,创建文件后,你可以在根目录下看到mysqldata文件夹(和var、usr同一目录下)

#mkdir /mysqldata

3.创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql

输入

rq=` date +%Y%m%d `

tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

或者写成

rq=` date +%Y%m%d `

mysqldump ——all-databases -u root -p密码 > /mysqldata/mysql$rq.sql

/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同

/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。

注:在/usr/sbin/目录下可以看到bakmysql文件,创建bakmysql之后你也可以把上面要输入的内容copy到bakmysql中。 

4.修改文件属性,使其可执行:

# chmod +x /usr/sbin/bakmysql

5.修改/etc/crontab

输入 #vi /etc/crontab

输入上面的命令后可看到如下的界面:

\

在红色框起来的地方添加(怎么添加请看我的博客crontab定时执行php)

10 1 * * * root /usr/sbin/bakmysql

表示每天1点10分执行备份

6.重新启动crond

# /etc/rc.d/init.d/crond restart

FtpCopy 数据定时自动备份软件(FTP 定时备份)

FtpCopy 数据定时自动备份软件(FTP 定时备份)

1. 软件说明

FtpCopy 是一款免费的 FTP 数据自动备份软件,如果 FtpCopy 对您有较大的帮助,欢迎捐赠我们,我们对您表示衷心的感谢!

如果有需求的话会一直更新下去,将软件做到极致!

有问题可直接 “反馈留言”。

特点:

1、 可用于备份各种类型的 FTP 服务器数据。

2、 对中文具有良好的支持。

3、 备份文件的 “修改日期” 与服务器上文件一致。

4、 日志详细记录每个文件备份的详细信息。

5、 可以备份目录下所有文件,包含子目录。

6、 可以只备份更新的文件,加快备份速度。

7、 可以自动删除本地存在,而源目录不存在文件和目录(适用于网站数据备份)。

8、 可以按照文件名、文件大小、目录名进行筛选备份。

9、 任务计划支持每月、每周、每天、每小时、时间间隔、固定时间等多种方式。

10、 可以每天生成一个文件夹用于存储当天的备份文件。

11、 “清除计划” 可以根据保存时间删除过期的文件和目录。

12、 解压后双击即可运行。

2. 操作说明

2.1 程序主界面

2.2 基本配置

(A) 填写 “任务名称”。

(B) 选择 “本地目录” 存储备份数据。

(C) FTP 选项:填写 FTP 地址、用户名、密码和端口(默认 21)。

(D) 默认使用 “被动模式”,若不选则为 “主动模式”。

(E) 日志简单模式:只记录每次任务执行的总体情况,即:下载完毕:共 x 个文件,成功 m 个,失败 n 个,已存在 j 个。详细模式会记录每个文件的执行情况。

2.3 备份规则

备份规则用于匹配哪些目录和文件需要备份,哪些需要跳过。

2.3 任务计划

支持每月、每周、每天、每小时、时间间隔、固定时间等多种方式。

2.4 清除计划

在备份任务执行完毕后,根据执行条件执行清除任务。

2.5 系统选项

3. 软件下载

本地下载:FtpCopyV1.0.zip

部分 xp 系统需要安装.Net Framework4.0。

ftp在当地能往远程服务器上传文件,但是放到服务器上就不好使了

ftp在当地能往远程服务器上传文件,但是放到服务器上就不好使了

ftp在本地能往远程服务器上传文件,但是放到服务器上就不好使了
网站购买的万网的虚拟主机,无法修改php.ini,也没有办法是用.htaccess来修改上传文件大小,故上传大于10M的文件只好使用ftp方式,代码如下:
        $ftp_server= "xxxx.xxxx.com";
$ftp_user_name= "xxxx";
$ftp_user_pass= "xxxxx";
$local_file = "D:/Lyb_0/zmsgx.mp4";        //本地文件
$server_file = "htdocs/videos/zmsgx.mp4";  //待上传后文件所在路径
$conn_id = ftp_connect($ftp_server);         //联接FTP
$login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass) or die("Login error");  //登录
$fp=fopen($local_file,"r");
ftp_pasv($conn_id, true);   //开启被动模式传输 
//上传参数
if(ftp_fput($conn_id,$server_file,$fp,FTP_BINARY)) {
    echo "Successfully uploaded $server_file\n";
}else{
    echo "There was a problem while uploading $file\n";
}
//关闭连接
ftp_close($conn_id);
fclose($fp);

       但是这段代码只在本地好使,放到服务器上就好使了,fopen($local_file,"r");无法打开本地文件。请问如何解决?
------解决思路----------------------
你先确认 fopen 是否可用
在服务器上所谓“本地文件”是指服务器上的文件

所以你使用 ftp 绕过 upload 限制的做法,是不现实的
------解决思路----------------------
$local_file

这个无法取到本地文件吧。
------解决思路----------------------
class Ftp{
    
    public $ftpconn;
    public static $_instance    =   array();
    private function __construct($host,$username,$password) {
        $this->ftpconn  = ftp_connect($host);
        $this->login($username, $password);
    }
    public function login($username, $password){
        ftp_login($this->ftpconn, $username, $password);
    }
    public static function getInstance($host,$username,$password){
        $key    =   md5($host.''-''.$username.''-''.$password);
        if(!isset(self::$_instance[$key]) 
------解决思路----------------------
 !(self::$_instance[$key] instanceof self)){
            self::$_instance[$key]  =   new self($host, $username, $password);
        }
        return self::$_instance[$key];
    }
    public function __clone(){
        trigger_error(''该类禁止克隆'',E_USER_ERROR);
    }
    public function __destruct() {
        ftp_close($this->ftpconn);
    }
    public function nlist($dir){
       $filelist   = ftp_nlist($this->ftpconn, $dir);
       return $filelist;
    }

    //切换当前目录的父目录
    public function cdup(){
        return ftp_cdup($this->ftpconn);
    }
    //在 FTP 服务器上改变当前目录
    public function chdir($dir){
        return @ftp_chdir($this->ftpconn, $dir);
    }
    //修改文件权限
    public function chmod ($dir,$mode){
        return ftp_chmod($this->ftpconn, $mode, $dir);
    }
    //删除文件
    public function delete($filename){
        return ftp_delete($this->ftpconn, $filename);
    }
    //请求运行一条 FTP 命令(true,false)
    public function exec($command){
        return ftp_exec($this->ftpconn,$command);
    }
    //从 FTP 服务器上下载一个文件并保存到本地一个已经打开的文件中
    //mode传输模式只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 其中的一个。 
    public function fget ($handle,$remote_file,$mode,$resumepos = 0){
        return ftp_fget($this->ftpconn,$handle,$remote_file,$mode,$resumepos);
    }
    //上传一个已经打开的文件到 FTP 服务器
    //mode传输模式只能为 (文本模式) FTP_ASCII 或 (二进制模式) FTP_BINARY 其中的一个。 
    public function fput ($remote_file,$handle,$mode,$resumepos = 0 ){
        return ftp_fput($this->ftpconn,$remote_file,$handle,$mode,$resumepos);
    }
    //返回当前 FTP 连接的各种不同的选项设置
    public function get_option($option=FTP_TIMEOUT_SEC){
        return ftp_get_option($this->ftpconn,$option);
    }
    //从 FTP 服务器上下载一个文件
    public function get($local_file,$remote_file ,$mode,$resumepos=0){
        return ftp_get($this->ftpconn,$local_file,$remote_file ,$mode,$resumepos);
    }
    //返回指定文件的最后修改时间
    public function mdtm ($remote_file){
        return ftp_mdtm ($this->ftpconn,$remote_file);
    }
    //建立新目录
    public function mkdir($dir,$directory){
        $this->chdir($dir);
        return @ftp_mkdir($this->ftpconn,$directory);
    }
    //连续获取/发送文件(non-blocking)
    public function nb_continue(){
        return ftp_nb_continue($this->ftpconn);
    }
    //Retrieves a file from the FTP server and writes it to an open file (non-blocking)
    public function nb_fget ($handle,$remote_file,$mode,$resumepos = 0){
        return ftp_nb_fget ($this->ftpconn,$handle,$remote_file,$mode,$resumepos);
    }
    //Stores a file from an open file to the FTP server (non-blocking)
    public function nb_fput ($remote_file,$handle,$mode,$resumepos = 0 ){
        return ftp_nb_fput ($this->ftpconn,$remote_file,$handle,$mode,$resumepos);
    }
    //从 FTP 服务器上获取文件并写入本地文件(non-blocking)
    public function nb_get ($local_file,$remote_file ,$mode,$resumepos=0){
        return ftp_nb_get ($this->ftpconn,$local_file,$remote_file ,$mode,$resumepos);
    }
    //存储一个文件至 FTP 服务器(non-blocking)
    public function nb_put ($remote_file ,$local_file,$mode,$resumepos=0){
        return ftp_nb_put ($this->ftpconn,$remote_file ,$local_file,$mode,$resumepos);
    }
    //返回当前 FTP 被动模式是否打开
    public function pasv($pasv){
        return ftp_pasv($this->ftpconn,$pasv);
    }
    //上传文件到 FTP 服务器
    public function put ($remote_file ,$local_file,$mode,$resumepos=0){
        return ftp_put ($this->ftpconn,$remote_file ,$local_file,$mode,$resumepos);
    }
    //返回当前目录名
    public function pwd (){
        return ftp_pwd ($this->ftpconn);
    }
    //Sends an arbitrary command to an FTP server
    public function raw ($command){
        return ftp_raw ($this->ftpconn,$command);
    }
    //返回指定目录下文件的详细列表
    public function rawlist($directory){
        return ftp_rawlist($this->ftpconn,$directory);
    }
    //更改 FTP 服务器上的文件或目录名
    public function rename($oldname ,$newname){
        return ftp_rename($this->ftpconn,$oldname , $newname);
    }
    //删除 FTP 服务器上的一个目录
    public function rmdir($directory){
        return ftp_rmdir($this->ftpconn,$directory);
    }
    //设置各种 FTP 运行时选项
    public function set_option ($option,$value){
        return ftp_set_option ($this->ftpconn,$option,$value);
    }
    //向服务器发送 SITE 命令
    public function site ($cmd){
        return ftp_site ($this->ftpconn,$cmd);
    }
    //返回指定文件的大小
    public function size ($remote_file){
        return ftp_size ($this->ftpconn,$remote_file);
    }
    //Opens an Secure SSL-FTP connection
    public function ssl_connect($host){
        $this->ftpconn  =    ftp_ssl_connect($host);
    }
    //返回远程 FTP 服务器的操作系统类型
    public function systype (){
        return ftp_systype ($this->ftpconn);
    }
}

今天关于有没有FTP软件能在当地自动备份远程被覆盖的文件ftp备份工具的分享就到这里,希望大家有所收获,若想了解更多关于CentOS Linux中MySQL自动备份及FTP远程备份、crontab命令自动备份远程服务器mysql数据库、FtpCopy 数据定时自动备份软件(FTP 定时备份)、ftp在当地能往远程服务器上传文件,但是放到服务器上就不好使了等相关知识,可以在本站进行查询。

本文标签: