more info in doc
[feisty_meow.git] / scripts / archival / snarf_user.pl
1 #!/usr/bin/perl
2
3 ###############################################################################
4 #                                                                             #
5 #  Name   : snarf_user                                                        #
6 #  Author : Chris Koeritz                                                     #
7 #  Rights : Copyright (C) 2000-$now by Author                                 #
8 #                                                                             #
9 #  Purpose:                                                                   #
10 #                                                                             #
11 #    Bundles the configuration files that are commonly in a user's home dir.  #
12 #                                                                             #
13 ###############################################################################
14 #  This program is free software; you can redistribute it and/or modify it    #
15 #  under the terms of the GNU General Public License as published by the Free #
16 #  Software Foundation; either version 2 of the License or (at your option)   #
17 #  any later version.  See: "http://www.gruntose.com/Info/GNU/GPL.html" for a #
18 #  version of the License.  Please send any updates to "fred@gruntose.com".   #
19 ###############################################################################
20
21 require "shared_snarfer.pl";
22
23 use Env qw(HOME USER);
24
25 &initialize_snarfer;
26
27 # get the number we use and increment it for the next use.
28 local($number) = &retrieve_number("aa_backup");
29
30 # variables for directory location to backup and the file to dump it in.
31 local($root) = "$HOME";
32 local($snarf_file_base) = snarf_prefix("$USER");
33 local($snarf_file) = &snarf_name($snarf_file_base, $number);
34
35 # store the archive number in the file for retrieval on the other side.
36 &backup_number("aa_backup", $snarf_file_base, $number);
37
38 ############################################################################
39
40 # backup all the config info for kde.
41 &backup_hierarchy($snarf_file_base, $number, "$root", ".kde");
42 # and get the config for gnome.
43 &backup_hierarchy($snarf_file_base, $number, "$root", ".local");
44 &backup_hierarchy($snarf_file_base, $number, "$root", ".gnome*");
45
46 # get any dot files ending in "rc", or with "bash" or "profile" in them, or
47 # that start with "x".
48 &backup_files($snarf_file_base, $number, $root, ".",
49     ("*rc", ".*bash*", ".*profile*", ".x*", ));
50
51 # get the ssh configuration files.
52 &backup_hierarchy($snarf_file_base, $number, "$root", ".ssh");
53
54 # now rename the file so only the unpacker can access it.
55 &rename_archive($snarf_file);
56
57 exit 0;
58