Software-Engineering Martin Fabiani

Sitemap (Navigation ohne JavaScript)

Impressum: Martin Fabiani, Röderbergweg 104, D-60485 Frankfurt, Tel: +49 (69) 49084808, E-Mail: info (at) fabiani.net, USt-IdNr: DE217298609

Codebeispiele zu Perl

chmod via FTP

Wenn man vor dem Problem steht, die Rechte vieler Dateien auf einem FTP-Server zu verändern und man kein FTP-Programm hat, das dies unterstützt, dann hilft vielleicht ein kleines Perl-Script weiter. Dies könnte folgendermaßen aussehen:


01: #! /usr/bin/perl
02: use warnings;
03: use strict;
04: use Net::FTP;
05: 
06: # Konfiguration
07: my $server = 'ftp.server.tld';
08: my $user   = 'ich';
09: my $pass   = "geheim";
10: my $path   = "/cgi-bin/data/";
11: 
12: # neues ftp-objekt erstellen und verbinden mit $server
13: my $ftp = Net::FTP->new($server, Debug => 1)
14:   or die "Error in connect: $@\n";
15: 
16: # als $user mit passwort $pass anmelden
17: $ftp->login($user, $pass)
18:   or die "Error in login: ", $ftp->message, "\n";
19: 
20: $ftp->cwd($path) # wechsle ins richtige Verzeichnis
21:   or die "Error in cwd: ", $ftp->message, "\n";
22: my @files = $ftp->ls() # ermittle die Liste der Dateinamen
23:   or die "Error in ls: ", $ftp->message, "\n";
24: 
25: foreach (@files) {
26: 
27:     # ueberspringe dateien, die nicht die Endungen .dat oder .txt haben
28:     next unless /\.(dat|txt)$/;
29: 
30:     # fuehre chmod 666 $dateiname aus
31:     $ftp->quot('SITE', 'chmod', '666', $_) or
32:       warn "Error: chmod 666 $_: ", $ftp->message, "\n";
33: } # foreach
34: 
35: $ftp->quit();

Dieser Code-Abschnitt hat mir gerade ein paar Stunden an sinnloser Tipperei erspart...


Letztes Update dieser Seite: Sunday, 31-Jul-2005 16:10:31 CEST