scp 자동 업로드
- #!/usr/bin/perl
- #scp.pl filename host password
- #read from a file what to copy by lines and send(through scp) each to host with password
- use warnings;
- use strict;
- use Expect;
-
- if(@ARGV != 3){
- die "illegal arguments,usage:scp.pl filename host password
";
- }
-
- #get the host and the password
- my ($filename,$host,$passwd)=@ARGV;
-
- #define a file handle to hold the filename
- if(!open FILENAME,"$filename"){
- die "Fail to open $filename:$!
";
- }
-
- #begin the expect
- my $exp=Expect->new;
-
- $exp->log_file("scp.log","w");
-
- foreach(){
- if($_ ne "
"){#not blank line
- chomp $_;
- #notice:the host must be the exact location of the web,such as [email protected]:/usr/local/nginx/html/
- my $scpstr="scp\t".$_."\t".$host.$_."
";
- print $scpstr;
- $exp=Expect->spawn($scpstr);
- $exp->expect(60,[
- qr/password:/i,
- sub{
- my $self=shift;
- $self->send("$passwd
");
- exp_continue;
- }
- ],
- [
- 'connecting (yes/no)?',
- sub{
- my $self=shift;
- $self->send("yes
");
- exp_continue;
- }
- ]);
- }
- }
- $exp->soft_close();
- close FILENAME;
또 새 파일은svnscp라고 합니다.sh
셸로 쓰고svn 업데이트를 호출하여 얻은 매개 변수를svn에 직접 기록합니다.log 파일에서 위의 파일을 호출해서 업로드합니다
svnscp.sh
- #!/bin/sh
- svn update |grep [UA] |awk -F" " '{print $2}' >svn.log
- scp.pl svn.log hostAndAbsoluteLocation PASSWORD
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
svn 팁1. SVN 서버 IP 교체 2.특정 버전 가져오기 3.한 버전의 파일을 업데이트합니다. * svn: E155036: Working copy is too old (format 10, created by Subvers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.