이것은 FTP에 로그인 할 때 수행하는 작업입니다.
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
한 줄 FTP 명령을 수행하고 싶습니다 …
ftp user:password@server -command "echo HELLO WORLD"
또는
"echo HELLO WORLD" | ftp user:password@server
내가 만들려고하는 스크립트의 일부와 비슷한 것. 아무것도 전송되지 않습니다. 몇 가지 지침 만 에코하면됩니다. 이것이 두 시스템간에 가장 쉬운 방법입니다.
답변
그것은 실제로 SSH에 대한 더 많은 일이지만 (다른 사람들이 지적했듯이) ftp를 사용하기로 결정했다면 lftp를 사용해보십시오 . 현재 지원되는 모든 Ubuntu 버전에서 무료로 사용할 수 있습니다. 다음 명령으로 설치할 수 있습니다 sudo apt install lftp
lftp -u username,password -e "your command;quit" ftp.site.com
lftp -c
는 명령을 실행 한 다음 종료 되는 스위치를 문서화 하지만 대부분의 배포판에서 손상된 것으로 보입니다. -e
를 발행하지 않으면 연결 상태를 유지합니다 quit
.
답변
단일 ftp 명령 으로이 컴퓨터에서 ftp 서버로 파일 전송을 실행하는 방법을 검색 할 때이 스레드를 찾았습니다. 방법은 다음과 같습니다.
ftp 명령으로 파일을 작성하십시오 ( ‘ftpcommands.txt’라고 함).
open YourFtpServer.com
user YourUserName YourPassword
put localfilename remotefilename
bye
그런 다음 ftp 명령을 실행하고 파일을 공급하십시오.
ftp -n < ftpcommands.txt
-n 옵션은 ‘open’명령을받을 때 ftp가 자동으로 로그인을 시도하지 않도록합니다.
누군가에게 도움이 되길 바랍니다. 이 솔루션에 대한 온라인 내용을 찾을 수 없었으므로 직접 해결해야했습니다.
답변
원격으로 명령을 실행하기 위해 FTP를 사용할 수 없습니다. 파일 전송 프로토콜을 나타냅니다. 실제로 필요한 것은 SSH입니다.
ssh
두 시스템에 패키지 를 설치 한 후이 안내서 에 따라 비밀번호없이 로그인을 설정하기 만하면됩니다.
그리고 지금 그것을 부르는 방법 :
ssh username@host echo "Hello World\!"
예를 들어, 이것은 나 자신에게하는 일입니다.
nick@AccessDenied:~$ ssh nick@localhost echo "Hello World\!"
Hello World!
답변
@charlesbridge 답변을 보완하려면 ~ / .bashrc 파일에 다음을 포함하십시오.
alias yoursite="lftp -u <username> -e \"<commandA;commandB>\" yoursite.com"
파일을 소싱하십시오.
source ~/.bashrc
이제 “yoursite”라는 별칭을 사용하여 원하는만큼 명령을 로그온하고 실행하십시오.
답변
다음을 사용하여 busybox를 설치하십시오.
apt-get install busybox
busybox는 Linux 또는 임베디드 시스템에서 모두 작동 한 다음 ftpget 및 ftpput을 사용할 수 있습니다
busybox ftpput -u USER -p PASSWD URL_FTPSERVER FILE_U_WANT
busybox ftpget -u USER -p PASSWD URL_FTPSERVER FILE_U_WANT