스크립트를 사용하여 파일을 FTP 서버로 자동 전송하는 방법은 무엇입니까?


9

특정 로그 파일을 /var/log/가져 와서 쉽게 얻을 수있는 위치 (대부분 내가 액세스 할 수있는 웹 또는 FTP 서버)에 넣는 스크립트를 만들어야합니다 . 메일을 보내려고한다고 생각하지 않습니다. Webdav는 옵션 일 수 있습니다. 사용자 상호 작용없이 작동해야하며 매우 빠르고 고통스럽지 않아야합니다. 어떤 제안? (기본적으로 비밀번호가 필요하지 않습니다)

답변:


12
  • 로그 파일 /var/log은 일반적으로 세계가 읽을 수 있으며 액세스하는 데 비밀번호가 필요하지 않습니다.
  • FTP 서버가 이미있는 경우 (웹 서버의 백엔드 일 수도 있음) 가장 간단한 옵션 IMO는 wput유틸리티 를 사용하는 것 입니다.
    • sudo apt-get install wput필요한 경우 설치하십시오 .
    • 구문은 다음과 같습니다.
      wput [옵션] [파일] ... [url] ...
    • URL의 형식은 다음과 같습니다.
      ftp : // [사용자 이름 [: 암호] @] 호스트 이름 [: 포트] [/ [경로 /] [파일]]
  • 예:

    wput / var / log / syslog ftp : // jack : salty@ftp.website.com/www/mylogs/ 
    
  • -u대상 파일이 이미 존재할 때 강제로 업로드 하려면이 옵션을 사용하십시오 .

  • 참조 wput --help또는 man wput더 많은 옵션.

참고 : 위의 예와 같이 암호를 일반 텍스트로 입력하는 것은 일반적으로 매우 안전하지 않습니다. 로그를 다운로드 /보기 위해 생성 한 특수 디렉토리에만 업로드 할 수있는 서버에서 제한된 FTP 계정을 생성하는 것이 좋습니다.


안녕하세요, 매우 감사합니다. 이것은 내가 필요한 것입니다. 오래된 스레드라는 것을 알고 있지만 디렉토리에 문제가 있습니다. 원격 서버에서 wput을 사용할 때 항상 디렉토리 트리를 파일 대상으로 만듭니다. 원격에서 전체 디렉토리 트리를 만들지 않고 파일을 복사하는 것이 가능합니까?
Aleksandar Đorđević '

0

사용할 수있는 또 다른 유용하고 안전한 명령 scp은 ssh를 사용하여 파일을 이리저리 복사 하는 명령입니다.

이를 사용하려면 seahorse를 사용하여 ssh 키 쌍을 만들고 키의 공개 부분을 ~ / .ssh /에 복사 할 수 있습니다. 사용하기 위해 로그인하지 않기 때문에 비밀번호를 사용하여 비밀번호를 보호해서는 안됩니다. 이 스크립트에 사용하는 비밀번호 쌍만 사용해야합니다. scp -i identity 옵션을 사용하여 선택하십시오.

개인 키는 일반 텍스트 비밀번호를 대체합니다.

원하는 경우 crontab에 스크립트를 호출 할 수 있다고 가정합니다.

izx의 유용한 접근 방식을 사용하면 원격 컴퓨터의 암호 "salty"를 눈에 띄지 않도록 스크립트를 배치 할 위치를 보호해야합니다. 이 방법을 사용하면 암호로 보호되지 않으므로 키 페어의 개인 부분을 보호하기 위해 동일한주의를 기울여야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.