"Is a directory" 从远程复制指定目录时出错
"Is a directory" error when copying specified directories from remote
我正在尝试使用以下脚本从远程最后 N 个目录下载:
echo "Downloading last $lastN failed tests..."
RECENT=$(ssh $USER@$IP ls -1td $DIR/* | head -$lastN)
scp -r $USER@$IP:"$RECENT" $TARGET
但它只下载第一个文件并为其他文件抛出错误:
bash: line 1: /some/path/test_2018-12-08-20-21-19: Is a directory
bash: line 2: /some/path/test_2018-12-07-15-08-53: Is a directory
bash: line 3: /some/path/test_2018-12-07-14-56-28: Is a directory
bash: line 4: /some/path/test_2018-12-07-14-54-12: Is a directory
我的脚本有什么问题?
首先,您需要迭代 $RECENT 变量的所有值,而不是立即将其指定给 scp 命令。
for recentElement in $RECENT; do
scp -r $USER@$IP:"$recentElement " "$TARGET/"
done
但是,您可能需要调整创建 $TARGET
变量的方式,您确定它是一个目录吗?
您是否考虑过使用 rsync
而不是 scp
?
我正在尝试使用以下脚本从远程最后 N 个目录下载:
echo "Downloading last $lastN failed tests..."
RECENT=$(ssh $USER@$IP ls -1td $DIR/* | head -$lastN)
scp -r $USER@$IP:"$RECENT" $TARGET
但它只下载第一个文件并为其他文件抛出错误:
bash: line 1: /some/path/test_2018-12-08-20-21-19: Is a directory
bash: line 2: /some/path/test_2018-12-07-15-08-53: Is a directory
bash: line 3: /some/path/test_2018-12-07-14-56-28: Is a directory
bash: line 4: /some/path/test_2018-12-07-14-54-12: Is a directory
我的脚本有什么问题?
首先,您需要迭代 $RECENT 变量的所有值,而不是立即将其指定给 scp 命令。
for recentElement in $RECENT; do
scp -r $USER@$IP:"$recentElement " "$TARGET/"
done
但是,您可能需要调整创建 $TARGET
变量的方式,您确定它是一个目录吗?
您是否考虑过使用 rsync
而不是 scp
?