AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 435653
Accepted
Frederik
Frederik
Asked: 2012-10-08 03:09:58 +0800 CST2012-10-08 03:09:58 +0800 CST 2012-10-08 03:09:58 +0800 CST

使用定时子文件夹将脚本备份到 FTP

  • 772

我想制作一个备份脚本,它制作了.tar.gz一个我定义的文件夹,比如 fx/root/tekkit/world

然后应将此.tar.gz文件上传到 FTP 服务器,以上传时间命名,例如:07-10-2012-13-00.tar.gz

这样的备份脚本应该怎么写?

我已经弄清楚了这一.tar.gz部分——只需要命名和上传到 FTP。

我知道 FTP 不是最安全的方式,但由于它是非敏感数据,而且 FTP 是我唯一的选择,所以它可以。

编辑:

我结束了这个脚本:

#!/bin/bash

# have some path predefined for backup unless one is provided as first argument
BACKUP_DIR="/root/tekkit/world/"
TMP_DIR="/tmp/tekkitbackup/"
FINISH_DIR="/tmp/tekkitfinished/"
# construct name for our archive
TIME=$(date +%d-%m-%Y-%H-%M)

if [ $1 ]; then
    BACKUP_DIR="$1"
fi

echo "Backing up dir ... $BACKUP_DIR"
mkdir $TMP_DIR
cp -R $BACKUP_DIR $TMP_DIR
cd $FINISH_DIR
tar czvfp tekkit-$TIME.tar.gz -C $TMP_DIR .

# create upload script for lftp
cat <<EOF> lftp.upload.script
open server
user user password
lcd $FINISH_DIR
mput tekkit-$TIME.tar.gz
exit
EOF

# start backup using lftp and script we created; if all went well print simple message and clean up 
lftp -f lftp.upload.script && ( echo Upload successfull ; rm lftp.upload.script )
backup
  • 2 2 个回答
  • 2290 Views

2 个回答

  • Voted
  1. Best Answer
    Hrvoje Špoljar
    2012-10-08T03:23:19+08:002012-10-08T03:23:19+08:00

    首先,您创建在您想要创建备份时调用的 cron 作业,在创建备份后脚本将生成 lftp 脚本以通过 FTP 上传文件。

    #!/bin/bash
    
    # have some path predefined for backup unless one is provided as first argument
    BACKUP_DIR="/tmp/test"
    # construct name for our archive
    TIME=$(date +%d-%m-%Y-%H-%M)
    
    if [ $1 ]; then
        BACKUP_DIR="$1"
    fi
    
    
    
    echo "Backing up dir ... $BACKUP_DIR"
    tar czvfp $TIME.tar.gz $BACKUP_DIR
    
    # create upload script for lftp
    cat <<EOF> lftp.upload.script
    open ftp.server.tld
    user username password
    cd /target/directory
    lcd /local/dir/where/tar/gz/archive/is
    mput $TIME.tar.gz
    exit
    EOF
    
    # start backup using lftp and script we created; if all went well print simple message and clean up 
    lftp -f lftp.upload.script && ( echo Upload successfull ; rm lftp.upload.script )
    
    • 3
  2. Alexander Janssen
    2012-10-08T03:17:12+08:002012-10-08T03:17:12+08:00

    就这么简单:

    DATE=`date +%d-%m-%Y-%H-%M`
    tar cfz ${DATE}.tar.gz /root/tekkit/world
    

    或者,减少输入:

    tar cfz $(date +%d-%m-%Y-%H-%M).tar.gz /root/tekkit/world
    

    怎么了?

    $ DATE=`date +%d-%m-%Y-%H-%M`
    $ echo $DATE
    07-10-2012-13-15
    
    • 1

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • 社区对备份解决方案的意见

  • 无法读取不同 LTO-3 驱动器上的 LTO-3 磁带

  • 使用 TSM 备份时跳过硬链接

  • 使用 rsync 维护名称更改的目录的副本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve