对不起,如果这是太简单的问题。但我是 Java 开发人员,对 shell 脚本一无所知。我用谷歌搜索,但找不到我要找的确切内容。
我的要求
- 使用 Sftp [基于 pub/pri 密钥的身份验证] 连接到远程服务器。指向私钥文件的变量
- 将具有特定扩展名 [.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"