![如何使用 scp 将文件从一台服务器移动到另一台服务器?](https://linux22.com/image/1277142/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20scp%20%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我正在尝试使用 scp 将上传的文件移动到另一台服务器。以下是我正在使用的脚本和错误;
“mv.sh”
#!/bin/sh
now=$(date +"%y-%m-%d-%M")
cd /var/www/upload
if [ -f /var/www/upload/* ];
then
scp -P 88 * [email protected]:backup/
STATUS=$?
echo "$now-S1:succesful." >> /var/log/mv_to.log
else
echo "$now-S1:Error!!" >> /var/log/mv_to.log
fi
错误;
[: 13: /var/www/upload/1.doc: unexpected operator
如果只有一个文件,它工作正常,如果有两个或多个文件,它会显示意外操作员。请在这里纠正我。
答案1
问题出在你的 if 语句上。你可以将其替换为:
if [ -d /var/www/upload/ ];
(它不会检查文件是否存在,如果有多个文件则会出错,而是检查目录是否存在)