X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Farchival%2Fsnarf_linux_config.pl;h=c6820ace4f104aa67f1528e77337459806e85cdc;hb=0429ffb00a3f48ad1a6cb987d483609fe76c1a97;hp=71c3fa1a41d718659e19106e28ae174d54bec578;hpb=2952ccf47b80174880141a7ecfa122089f349b8d;p=feisty_meow.git diff --git a/scripts/archival/snarf_linux_config.pl b/scripts/archival/snarf_linux_config.pl index 71c3fa1a..c6820ace 100644 --- a/scripts/archival/snarf_linux_config.pl +++ b/scripts/archival/snarf_linux_config.pl @@ -15,21 +15,29 @@ # version of the License. Please send any updates to "fred@gruntose.com". ############## -require "importenv.pl"; require "shared_snarfer.pl"; +use Env qw(HOME); + +# make sure we are running as root. otherwise we have no access to look at many things in /etc. +if ($< != 0) { + printf "This script must be run as root or sudo. Try this:\n"; + printf " sudo -E PERLLIB=\$PERLLIB perl \$FEISTY_MEOW_SCRIPTS/archival/snarf_linux_config.pl @ARGV\n"; + exit 1; +} + &initialize_snarfer; # get the number we use and increment it for the next use. local($number) = &retrieve_number("aa_backup"); # variables used throughout. -local($base) = snarf_prefix("linux_config"); -local($snarf_file) = &snarf_name($base, $number); +local($snarf_file_base) = snarf_prefix("config-linux"); +local($snarf_file) = &snarf_name($snarf_file_base, $number); # store the current archive number in the file for retrieval on the # other side. -&backup_number("aa_backup", $base, $number); +&backup_number("aa_backup", $snarf_file_base, $number); # write a little file showing the disk status. local($infofile) = $HOME . "/disk_info.txt"; @@ -46,43 +54,49 @@ print INF "Current disk configuration:\n"; print INF "\n"; close(INF); system("fdisk -l >>$HOME/disk_info.txt"); -&backup_files($base, $number, $HOME, ".", ("disk_info.txt")); +&backup_files($snarf_file_base, $number, $HOME, ".", ("disk_info.txt")); unlink $infofile; # backup the dpkg info. -&backup_files($base, $number, "/", "var/lib/dpkg", ("status*")); +&backup_files($snarf_file_base, $number, "/", "var/lib/dpkg", ("status*")); # backup the crucial hierarchies in /var... -&backup_hierarchy($base, $number, "/", "var/named"); -###not good: &backup_hierarchy($base, $number, "/", "var/lib/mysql"); +#gone: &backup_hierarchy($snarf_file_base, $number, "/", "var/named"); +#gone: &backup_hierarchy($snarf_file_base, $number, "/", "var/lib/named/master"); + +###not good: &backup_hierarchy($snarf_file_base, $number, "/", "var/lib/mysql"); ###the mysql snarf is not necessarily usable, since we really should be ###backing up the databases by another means than this. -&backup_hierarchy($base, $number, "/", "var/lib/named/master"); -&backup_hierarchy($base, $number, "/", "var/lib/webalizer"); + +&backup_hierarchy($snarf_file_base, $number, "/", "var/lib/webalizer"); # snag the grub bootloader files. -&backup_hierarchy($base, $number, "/", "boot/grub"); +&backup_hierarchy($snarf_file_base, $number, "/", "boot/grub"); # now get the entire /etc hierarchy... -&backup_hierarchy($base, $number, "/", "etc"); +&backup_hierarchy($snarf_file_base, $number, "/", "etc"); + +# suck in the current state for the resolver. +&backup_hierarchy($snarf_file_base, $number, "/", "run/resolvconf"); # clean out extra files. -&remove_from_backup($base, $number, "etc/cups/ppds.dat*"); -&remove_from_backup($base, $number, "etc/httpd/conf/ssl.crt/ca-bundle.crt"); -&remove_from_backup($base, $number, "etc/locale/*"); -&remove_from_backup($base, $number, "etc/opt/kde3/share/services/ksycoca"); -&remove_from_backup($base, $number, "etc/preload.d/*"); -&remove_from_backup($base, $number, "etc/rmt"); -&remove_from_backup($base, $number, "etc/termcap"); -&remove_from_backup($base, $number, "etc/X11/X"); -&remove_from_backup($base, $number, "etc/X11/xkb/*"); -&remove_from_backup($base, $number, "*.bak"); -&remove_from_backup($base, $number, "*.cache"); -&remove_from_backup($base, $number, "*.crt"); -&remove_from_backup($base, $number, "*.old"); -&remove_from_backup($base, $number, "*.schemas"); -&remove_from_backup($base, $number, "*.so"); -&remove_from_backup($base, $number, "*.xml"); +&remove_from_backup($snarf_file_base, $number, "etc/cups/ppds.dat*"); +&remove_from_backup($snarf_file_base, $number, "etc/httpd/conf/ssl.crt/ca-bundle.crt"); +&remove_from_backup($snarf_file_base, $number, "etc/locale"); +&remove_from_backup($snarf_file_base, $number, "etc/alternatives"); +&remove_from_backup($snarf_file_base, $number, "etc/opt/kde3/share/services/ksycoca"); +&remove_from_backup($snarf_file_base, $number, "etc/preload.d"); +&remove_from_backup($snarf_file_base, $number, "etc/rmt"); +&remove_from_backup($snarf_file_base, $number, "etc/termcap"); +&remove_from_backup($snarf_file_base, $number, "etc/X11/X"); +&remove_from_backup($snarf_file_base, $number, "etc/X11/xkb"); +&remove_from_backup($snarf_file_base, $number, "*.bak"); +&remove_from_backup($snarf_file_base, $number, "*.cache"); +&remove_from_backup($snarf_file_base, $number, "*.crt"); +&remove_from_backup($snarf_file_base, $number, "*.old"); +&remove_from_backup($snarf_file_base, $number, "*.schemas"); +&remove_from_backup($snarf_file_base, $number, "*.so"); +&remove_from_backup($snarf_file_base, $number, "*.xml"); # now rename the file so only the unpacker can access it. &rename_archive($snarf_file);