FTP를 Shebang-ify하고 작은 FTP 스크립트를 작성하는 방법이 있습니까?
예를 들어:
#!/usr/bin/ftp
open 192.168.1.1
put *.gz
quit
어떤 아이디어가 있나요?
답변1
ftp
표준 입력에서 스크립트를 기대하는 프로그램 은 아니지만 shebang은 명령줄에서 스크립트 이름을 전달합니다.
당신은 그것을 사용할 수 있습니다여기 문서ftp
쉘 래퍼를 통해 스크립트를 전달합니다.
#!/bin/sh
ftp <<EOF
open 192.168.1.1
put *.gz
EOF
왼발인수로 전달된 스크립트 이름을 허용합니다.
#!/usr/bin/lftp -f
open 192.168.1.1
put *.gz
네트워크 파일 전송 프로토콜간단한 대량 가져오기 또는 넣기를 ncftpget
위한 두 가지 도구가 함께 제공됩니다 .ncftpput
지쉬포함하다FTP 모듈. 직접 FTP 스크립트 대신 올바른 셸을 사용하면 오류에 대응할 수 있다는 장점이 있습니다.
#!/bin/zsh
zmodload zsh/zftp
open 192.168.1.1
put *.gz
물론 Perl, Python, Ruby 등 다양한 다른 언어를 사용할 수도 있습니다.
또 다른 방법은 FTP 서버를 디렉터리로 마운트한 다음 cp
( rsync
또는 다른 도구)를 사용하여 파일을 복사하는 것입니다. 많이있다퓨즈주로 FTP 액세스에 사용되는 파일 시스템컬프트프프스그리고LftpFS.
업로드를 위해 인증을 사용할 계획이고 서버를 제어할 수 있는 경우 SSH 액세스를 사용하는 것이 가장 좋습니다. 더 안전하고 유연합니다. SSH를 통해 파일을 복사하려면 scp
또는를 사용할 수 있습니다 sftp
.동기화효율적인 동기화를 위해(일부 파일이 이미 존재할 수 있는 경우) 또는조화(양방향 동기화의 경우) 또는 설치SSHFS.