#!/usr/bin/perl use strict; use warnings; use Cwd; use Archive::Tar; use File::Find; use File::Spec; use POSIX qw(strftime); my $strVereichnisZiel = "/home/mein_user/sicherung/"; my $VerzPfadNow = cwd(); my $datum = strftime("%Y_%m_%d" , localtime() ); my $archiveFile = File::Spec->join( $strVereichnisZiel, sprintf( 'sicherung_%s.tar.bz2', $datum ) ); my $tar = Archive::Tar->new; find({ wanted => sub{ return if( /(\.|\.sh|\.sh~)$/ ); my $path = $File::Find::name; return if( -d $path ); my ( $file ) = $tar->add_files( $path ); my $name = File::Spec->abs2rel( $path, $VerzPfadNow ); $file->rename( $name ); }, no_chdir => 1, }, $VerzPfadNow ); $tar->write( $archiveFile, COMPRESS_BZIP );