非常抱歉,如果这是一个太简单的问题。但是我是一名Java开发人员,对shell脚本毫无头绪。 我通过谷歌搜索,但并没有找到与我要求完全相符的结果。
我的需求
- 使用Sftp连接到远程服务器[基于公私钥的身份验证]。设置一个指向私钥文件的变量
- 将特定扩展名的文件[.log]传输到本地服务器文件夹。设置一个远程服务器路径和本地文件夹的变量
- 重命名在远程服务器上传输的文件
- 在一个.txt文件中记录所有传输的文件
有没有人能给我提供这方面的Shell脚本呢?
这是我目前从建议中框架出来的内容。 我仍然有些疑问 ;)
export PRIVKEY=${private_key_path}
export RMTHOST=user@remotehost
export RMTDIR=/logs/*.log
export LOCDIR=/downloaded/logs/
export LOG=sucess.txt
scp -i $PRIVKEY $RMTHOST:$RMTDIR $LOCDIR
for i in 'ls -1 $LOCDIR/*.log'
do
echo $i >> $LOG
done
ssh $RMTHOST -c "for i in `ls -1 $RMTDIR; do mv /logs/$i /logs/$i.transferred; done"
2>/logfile
,这将返回发生的错误。 - fedorqui