- 论坛徽章:
- 7
|
本帖最后由 rubyish 于 2014-03-26 22:01 编辑
用cron 10分钟调一次
code 没有测试,不知道是否正确
read:
http://perldoc.perl.org/Net/FTP.html- #!/usr/bin/perl
- # use 5.018;
- use Net::FTP;
- my $dir = '/tmp';
- my $updir = '/pub';
- my $FTP = 'some.host.name';
- my $usr = 'abc';
- my $pass = 'hello';
- my @files = glob "$dir/*";
- system "touch $dir/.putlog" unless -e "$dir/.putlog";
- open my $fh, '+<', "$dir/.putlog";
- my %ok = map { chomp; $_, 1 } <$fh>;
- my @up = grep { !$ok{$_} } @files;
- exit unless @up;
- print $fh "$_$/" for @up;
- close $fh;
- # http://perldoc.perl.org/Net/FTP.html
- print "ftp begin\n";
- my $ftp = Net::FTP->new( $FTP, Debug => 0 )
- or die "Cannot connect to $FTP: $@";
- $ftp->login( $usr, $pass )
- or die "Cannot login ", $ftp->message;
- $ftp->cwd($updir)
- or die "Cannot change working directory ", $ftp->message;
- for my $f (@up) {
- $ftp->put($f) or die "put failed ", $ftp->message;
- }
- $ftp->quit;
复制代码 |
|