단일 명령으로 FTP에 파일 보내기

우리는 이미 그래픽 응용 프로그램을 사용하지 않고 터미널을 통해 FTP 서버에 연결하고 서버 (또는 해당 콘텐츠)로 작업하는 방법을 살펴 보았습니다.

이번에는 당신에게 플러스 또는 추가를 가져 왔습니다. 설명하겠습니다.

몇 년 전에 나는 그들을 떠났다 백업을 만드는 데 사용되는 bash 스크립트 (저장) 서버의 데이터. 스크립트는 일련의 폴더 (예 : / etc /), 내 보낸 데이터베이스 등을 복사하고 암호와 함께 .RAR 또는 .7z 파일로 압축했습니다 (현재 7z를 사용합니다). 스크립트에 부족한 유일한 것은 그런 다음 압축 된 파일을 FTP 서버에 업로드 할 수 있습니다. 이렇게하면 서버에서 저장 한 내용이 다른 위치로 복사됩니다.

요즘 나는 스크립트를 약간 최적화하고 개선하기 위해 다시 스크립트를 사용했으며 분명히 언급 한 후자의 필요성이 드러나 압축 된 아카이브를 외부 FTP에 업로드했습니다.

단일 명령으로 FTP에 업로드하는 방법은 무엇입니까?

내가 필요한 것은 사용자 이름과 암호로 FTP에 연결하는 단일 명령을 통해서였습니다. 특정 폴더에 파일을 업로드합니다.

FTP에 연결하고, 사용자와 비밀번호를 입력하고, 파일을 업로드 할 수있게 해주는 터미널 응용 프로그램이 많이 있지만 ... 모든 매개 변수가 이미 지정된 상태에서 한 줄에이 모든 작업을 수행 할 수 있습니다. 이봐 거기 질문.

4 ~ 5 개 검토 한 후… ...하지만 존재합니다

curl을 사용하여 FTP에 업로드

컬로 나는 무한한 수의 일을 할 수 있고, 어쩌면 내가 원하는 것을 할 수 있을지도 모른다 ... 그게 다야!

-u 매개 변수를 사용하여 사용자와 암호를 지정할 수 있습니다. 또한 -T 매개 변수를 사용하여 파일을 업로드하도록 지시하고 마지막으로 업로드 할 FTP 및 폴더를 지정할 수 있습니다. 다음과 같이 전체 경로를 넣으십시오.

curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/

이것이하는 일은 사용자와 함께 FTP 192.168.128.2에 연결하는 것입니다. 사용자 및 암호 암호 폴더에 업로드 서버_백업 라는 파일 file-backup.7z

그리고 준비!

간단 하지요? ...

물론 이것은 명령만으로도 우리에게 유용 할 수 있지만, 그것을 사용하는 가장 좋은 방법은 ...와 같은 스크립트를 사용하는 것입니다.

그리고 언급 된 스크립트는 어떻습니까?

특히 사용자의 요청이나 제안을 통합하여 스크립트를 개선하고 있습니다.

  • 제가 가장 먼저하고 싶었던 것은 저장 파일을 FTP에 업로드 할 수있는 단일 명령으로 방금 설명한 것입니다.
  • 사용자가 저에게 추천 한 또 다른 방법은 백업이 준비되었을 때 이메일을 보내는 것이 었습니다. 메일을 보내다 또는 외부 스크립트, 나는 가급적 sendmail을 사용할 것이다. sendmail 사용에 대한 세부 사항은 암호화 ... SSL 등으로 이메일을 보내기 위해 Gmail 계정 (또는 기타)을 사용할 수 있다는 것입니다.
  • 또한 사용자는보다 동적 인 형태의 알림으로 GTalk의 XMPP 또는 Hotmail (라이브 또는 이와 유사한 것, 이름조차 알지 못함)을 사용하여 IM으로 메시지를 보낼 것을 권장했습니다. 먼저 GTalk로 시도 할 것입니다. Hotmail의 경우 Hotmail 계정을 만들려면 어딘가에서 기억하거나 지원해야하기 때문입니다. Microsoft의 변경 사항이 너무 많아서 어떤 것인지 알 수 없기 때문입니다.
  • 후자의 또 다른 변형은 Facebook 또는 Twitter에서 보내는 알림 또는 메시지를 사용하는 것입니다. Twitter의 경우 사용할 수 있습니다. 트위지 Facebook에서는 사용할 수 있습니다. fbcmd. 두 응용 프로그램 모두 터미널에서 이러한 소셜 네트워크와 상호 작용할 수 있습니다.
  • 나는 또한 내가 내보내는 SQL의 무결성을 확인하려고 생각하고 있지만 이미 조금 더 많은 시간이 필요합니다. :)

FTP 서버

끝!

글쎄, 더 이상 추가 할 사항은 없습니다. 지금은 Bash로 만든 스크립트를 최적화하고 개선하기 위해 몇 가지 스크립트를 작성하고 있습니다. 뉴스를 가져 오는 데 너무 오래 걸리지 않기를 바랍니다. 😀

안부


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   Barnarasta

    훌륭한 프로젝트,
    큰 관심을 가지고 따라 가겠습니다.
    -서버가 다운되거나 배송이되지 않는 경우 @ 알림이 있습니까?

    터미널 / 콘솔 애호가의 기사를 읽는 것이 엄청나게 즐겁습니다.

    1 살루 2

    1.    KZKG ^ 가아라

      즐거움은 내 것입니다 🙂

      좋은 생각, FTP 서버가 온라인인지 확인하고 그렇지 않은 경우 이메일을 보내십시오 ... 고려하겠습니다 ^ _ ^

  2.   모세 세라노

    백업 스크립트를 수정하고 최종 파일을 Dropbox에 업로드 할 수있는 프로젝트를 수정했습니다 (https://github.com/andreafabrizi/Dropbox-Uploader) 마지막에 sendmail로 이메일을 보냅니다.

  3.   사냥꾼

    Gaara 당신은 이것을 위해 올바른 도구를 시도해야합니다 : lftp

    미러링을 지원하기 때문에 ftp에서 저장소를 동기화하는 것은 귀중합니다.

    http://www.cyberciti.biz/faq/lftp-mirror-example/

  4.   호르헤

    매우 흥미로운 것은이 시스템의 아름다움입니다. 여러 방법으로 동일한 결과를 얻을 수 있습니다. ftp 서버에 파일을 업로드하는 방법을 보여 드리겠습니다. 약간 소박하지만 여전히 작동합니다.

    {
    에코 사용자 사용자 암호
    에코 빈
    에코 프롬프트
    echo cd / 디렉토리 / from / server / ftp
    에코 넣어 파일
    에코 닫기
    에코 바이
    } | ftp -n server.ftp

    1.    KZKG ^ 가아라

      OOOHHH 흥미 롭습니다. 이렇게 할 수있는 일이 무엇인지 몰랐습니다 😀
      감사합니다!

  5.   세피로스

    예를 들어 wput을 사용하는 다른 방법 :

    wput file_to_upload ftp : // 사용자 : PASS@123.123.123.123 : 21

    또는 이전 텔넷을 사용하는 스크립트의 단순성을 선호하는 사람들을 위해 :

    ftp -n server_ip << EOF
    사용자 익명 test@test.cu
    FILE.txt 보내기
    출구
    EOF

  6.   자비에르

    안녕하세요, 저는 Linux의 초보자이며 사용자 수준에서만 컴퓨팅이나 프로그래밍 또는 이와 유사한 것을 알지 못합니다. 저는 이것에 대해 거의 무지합니다. 나는이 기사를 읽고 있었고 두 번째 단락 끝에 "위치"라는 단어를 읽었습니다. 그 단어가 잘못 사용되었습니다. 당신은 위치, 위치, 위치, 장소를 의미합니다. RAE가 "http://dle.rae.es/?id=NXeOXqS"라고 말하는 것처럼 위치라는 단어는 다른 것을 의미합니다.