我想制作一个备份脚本,它制作了.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 )
首先,您创建在您想要创建备份时调用的 cron 作业,在创建备份后脚本将生成 lftp 脚本以通过 FTP 上传文件。
就这么简单:
或者,减少输入:
怎么了?