簡體   English   中英

從遠程android設備/ SSH服務器scp /安全復制最新文件

[英]scp/secure copy most recent file from remote android device / SSH Server

我已經使用“ SSH服務器”應用程序設置了Android手機,並希望編寫腳本以使用scp在特定目錄中下載最新文件。 該腳本將從Linux筆記本電腦運行

問題是,Android不包含“ head”或“ tail”之類的命令,並且我不知道如何選擇最新文件。

我能做的最好的事情是使用以下命令從目錄中復制所有文件:

#!/bin/bash
dst=username@192.168.1.107:storage/sdcard0/DCIM/Camera
scp -P 60839 -oHostKeyAlgorithms=+ssh-dss $dst/* /home/username/projects/3patetas
done 0

有人可以幫忙嗎?

- - - -編輯 - - - - - - -

我認為以下方法可能會起作用,但會導致android上的ssh服務器停止:

#!/bin/bash
remote_dir=/storage/sdcard0/DCIM/Camera
dst=username@192.168.1.107
scp -P 60839 -oHostKeyAlgorithms=+ssh-dss $dst:'ssh $dst cd $remote_dir ; latest="" ; for i in *.jpg ; do latest=$i ; done ; echo $latest' /home/username/projects/3patetas
exit 0

這有幫助嗎?

#!/bin/bash
remote_dir=/storage/sdcard0/DCIM/Camera
dst=username@192.168.1.107
name="$(ssh $dst "cd $remote_dir"' ; latest="" ; for i in *.jpg ; do latest=$i ; done ; echo $latest')"
scp -P 60839 -oHostKeyAlgorithms=+ssh-dss $dst:$remote_dir/$name /home/username/projects/3patetas
exit 0

或這個:

#!/bin/bash
remote_dir=/storage/sdcard0/DCIM/Camera
dst=username@192.168.1.107
name=($(ssh $dst "cd $remote_dir"' ; for i in *.jpg ; do date +%s -r $i ; echo $i ; done'))
name=$(printf "%s %s\n" ${name[@]} | sort -n | tail -1)
scp -P 60839 -oHostKeyAlgorithms=+ssh-dss $dst:$remote_dir/${name#* } /home/username/projects/3patetas
exit 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM