我有这行代码:
#!/bin/bash
USER="root"
PASS="sjkndkfjnweif"
SERVER="192.168.1.1"
SOURCE="/var/www/a1/"
TARGET="/volume1/a1/"
LOG="/volume1/homes/admin/backup-a1.log"
lftp sftp://$USER:$PASS@$SERVER -e 'mirror -r '$SOURCE $TARGET'; bye'
脚本名为execute.sh,位于此文件夹中:
/volume1/homes/admin/execute.sh
我需要变量目标在此文件夹中备份:
/volume1/a1
我的脚本在女巫这个脚本中创建了子目录,例如:
/volume1/homes/admin/a1/
我需要在
中创建备份文件夹/ VOLUME1 / A1
我尝试添加
./ volume1 / a1 /和〜/ volume1 / a1但每次运行脚本时都会在文件夹中创建运行脚本的子目录。
如何解决这个问题呢?
答案 0 :(得分:0)
mirror [OPTS] [source [target]]
将指定的源目录镜像到本地目标目录。如果 目标目录以斜杠(根除)结束 源基名称附加到目标目录名称。资源 和/或目标可以是指向目录的URL。
首先从TARGET
删除斜杠:
TARGET="/volume1/a1"
然后你必须指定目标基目录:--target-directory
--target-directory=DIR
您的最终命令行:
lftp sftp://$USER:$PASS@$SERVER -e "mirror -r --target-directory=/ $SOURCE $TARGET"