#!/usr/bin/perl

# Coded by Trizen
# Email: echo dHJpemVueEBnbWFpbC5jb20K | base64 -d
# Website: http://trizen.go.ro
# Backup tool for config (.conf) files from /etc

use File::Copy;
use File::Find;

$conf_dir = '/etc';
$copy_dir = "$ENV{'HOME'}/Config files";

die $! unless mkdir $copy_dir;
@conf = find(\&search, $conf_dir);

sub search {
    push @files, $File::Find::name;
}
foreach $file (@files) {
    next unless $file =~ /\.conf$/;
    print $file . "\n";
    $copy_file = $file;
    if ($copy_file =~ m[(.*)/([^/]+)$]) {
        $dir = $1;
        $copy_file = $2;
        $dir =~ s[^$conf_dir/][];
        if ($dir eq $conf_dir) {
            undef $in_dir;
        } else {
            $in_dir = 1;
        }
        mkdir "$copy_dir/$dir" unless $dir eq $conf_dir;
    }
    if ($in_dir) {
        copy($file, "$copy_dir/$dir/$copy_file");
    } else {
        copy($file, "$copy_dir/$copy_file");
    }
}

