2014-04-07 3 views
1

원격 FTP와 동시에 tar 파일을 업로드하고 싶습니다. 그러나이 코드는 작동하지 않습니다.Tar 아카이브 + 암호화 + 원격 FTP로 분할

tar cvzf -/backup | openssl aes-256-cbc -salt -k "password"| 스플릿 -b 100m | curl -u 사용자 : password ftp.site.com/backup.tar -T -

답변

0

실행하기 전에 걷기를 시도하십시오. 즉, 각 개별 명령을 파이프 라인에 연결하기 전에 이해하십시오.

첫 번째 문제점은 분할을 사용하는 것입니다. 입력을 개의 파일 으로 분할해야하므로 출력이 stdout에 출력되지 않습니다. 따라서 현재 작업 디렉토리에만 쓰고 curl은 쓰지 않습니다. 이러한 여러 파일은 다르게 처리해야합니다.

그래서 당신의 한 줄 명령 :

tar cvzf - /backup | openssl aes-256-cbc -salt -k "password" | split -b 100m | curl -u user:password ftp.site.com/backup.tar -T - 

요구는이 같은 루프 뭔가로 번역하세요 :

tar cvzf - /backup | openssl aes-256-cbc -salt -k "password" | split -b 100m - bkup 
for file in bkup* 
do 
    curl -u user:password ftp.site.com/$file -T $file 
done 
+0

감사합니다! 그것은 로컬 하드 디스크에 데이터를 씁니까? 나는 SSD를 가지고있다. 나는 그것을 원하지 않는다. – tara123

+0

예, 지정된 접두어 "bkup"로 시작하는 분할 파일을 로컬 디스크에 씁니다. 전혀 로컬 디스크에 쓰지 않으려면 분할 프로그램을 로컬로 사용할 수 없습니다. –

+0

작업에 "분할 명령"대신 사용할 수 있습니까? – tara123

관련 문제