Ingen skriptkunnig som kan slänga ihop ett skript som kopierar undan de viktigaste konfigurationsfilerna som tex /etc/fstab och /etc/X11/xorg.conf och /boot/menu.lst ?
Mottagarkatalog kan tex vara /home/din användare/backup eller nåt annat smart.
Min tanke var då att man innan man pillar en massa kan köra skriptet för att enkelt kunna återställa om det skrotar sig.
Eller finns det redan ett sådan skript nånstans?
Konfigurationsfils-kopieringsskript
Konfigurationsfils-kopieringsskript
Innan man är riktigt säker, är man gärna tvärsäker.
Ubuntu user # 9864
Ubuntu user # 9864
- zero gravity
- Wikiadmin
- Inlägg: 2504
- Blev medlem: 15 apr 2006, 15:37
- OS: Arch Linux
- Ort: Bohuslän
- Kontakt:
Konfigurationsfils-kopieringsskript
#!/bin/bash
#copy important system files
cp /etc/X11/xorg.conf /home/"din användare"/backup/xorg.conf
cp /boot/menu.lst /home/"din användare"/backup/menu.lst
Eller något liknande borde funka(har inte testat). Ersätt bara "din användare" och se till att skapa katalogen backup i din hemkatalog. Gör också scriptet körbart. Högerklicka mm
#copy important system files
cp /etc/X11/xorg.conf /home/"din användare"/backup/xorg.conf
cp /boot/menu.lst /home/"din användare"/backup/menu.lst
Eller något liknande borde funka(har inte testat). Ersätt bara "din användare" och se till att skapa katalogen backup i din hemkatalog. Gör också scriptet körbart. Högerklicka mm
Abusus non tollit usum
Konfigurationsfils-kopieringsskript
jag har knåpat ihop ett perl script som gör detta nu ^_^
Borde vara ganska enkelt att använda, om man kallar scriptet för backup.pl
så kör man det såhär:
edit: det fungerar att ange sökervägar som . .. och ~/ osv...
Om man bara kör backup.pl så kommer filerna att kopieras till ~/backup annars till mappen man angav som sökväg. OBS! mappen som filerna ska kopieras till måste existera scriptet skapar inga ny mappar. Så innan man kan köra ./backup.pl utan sökväg så måste man skapa mappen backup i sin hem katalog.
Scriptet kommer att skapa en log fil i mappen där filerna sparas där allt det gör står, samt kommer det att fråga dig om du vill skriva över filer, om det redan ligger en fil med samma namn i mappen.
För att köra scriptet så skapa en ny fil och döp den till backup.pl (eller vad du tycker att den ska heta) och klistra in koden som finns längst nere i posten i den filen, skriv sedan detta för att göra filen körbar.
sedan är det bara att skriva ./backup.pl för att köra den.
filerna som kommer att kopieras till backup mappen är dessa alltså:
/etc/X11/xorg.conf kommer att sparas som xorg.conf
/boot/grub/menu.lst kommer att sparas som menu.lst
/etc/fstab som fstab...
Alla filer sparas i mappen ~/backup om inget annat anges med --dir sökväg
Om man vill lägga till egna filer som scriptet ska spara så är det bara att lägga till dom i koden, följ bara syntaxen så ska det inte vara nåt problem. MEN se till att lägga till filen i BÃ…DA listorna!
Anledning att filerna ligger i båda listorna är för att man ska kunna spara filerna med vilket namn man vill
tex den här kodsnutten skulle spara /etx/X11/xorg.conf som min_xorg_config
och /boot/grub/menu.lst som grub_menu
och /etc/fstab som gammla_fstab och alla dessa filer kommer att hammna i mappen ~/backup om inget annat är angivet med --dir sökväg.
Kod för scriptet: (det är den här koden du vill klippa ut)
Borde vara ganska enkelt att använda, om man kallar scriptet för backup.pl
så kör man det såhär:
Kod: Markera allt
./backup.pl --dir sökväg
eller bara
./backup.pl
Om man bara kör backup.pl så kommer filerna att kopieras till ~/backup annars till mappen man angav som sökväg. OBS! mappen som filerna ska kopieras till måste existera scriptet skapar inga ny mappar. Så innan man kan köra ./backup.pl utan sökväg så måste man skapa mappen backup i sin hem katalog.
Scriptet kommer att skapa en log fil i mappen där filerna sparas där allt det gör står, samt kommer det att fråga dig om du vill skriva över filer, om det redan ligger en fil med samma namn i mappen.
För att köra scriptet så skapa en ny fil och döp den till backup.pl (eller vad du tycker att den ska heta) och klistra in koden som finns längst nere i posten i den filen, skriv sedan detta för att göra filen körbar.
Kod: Markera allt
chmod +x backup.pl
filerna som kommer att kopieras till backup mappen är dessa alltså:
/etc/X11/xorg.conf kommer att sparas som xorg.conf
/boot/grub/menu.lst kommer att sparas som menu.lst
/etc/fstab som fstab...
Alla filer sparas i mappen ~/backup om inget annat anges med --dir sökväg
Om man vill lägga till egna filer som scriptet ska spara så är det bara att lägga till dom i koden, följ bara syntaxen så ska det inte vara nåt problem. MEN se till att lägga till filen i BÃ…DA listorna!
Anledning att filerna ligger i båda listorna är för att man ska kunna spara filerna med vilket namn man vill
Kod: Markera allt
@file_path = ("/etc/X11/xorg.conf",
"/boot/grub/menu.lst",
"/etc/fstab");
@file_names = ("xorg.conf",
"menu.lst",
"fstab");
och /boot/grub/menu.lst som grub_menu
och /etc/fstab som gammla_fstab och alla dessa filer kommer att hammna i mappen ~/backup om inget annat är angivet med --dir sökväg.
Kod: Markera allt
@file_path = ("/etc/X11/xorg.conf",
"/boot/grub/menu.lst",
"/etc/fstab");
@file_names = ("min_xorg_config",
"grub_menu",
"gammla_fstab");
Kod: Markera allt
#!/usr/bin/perl
#använder inte perl -w eftersom datum koden spottar
#ut en massa jobbiga varningar om oanvända variabler...
use File::Copy;
$|++;
#kolla om någon sökväg har angivits.
if($#ARGV == 1 && $ARGV[0] eq "--dir") {
$path = $ARGV[1];
} else {
$path = "~/backup/";
}
# lägger till / på slutet om det inte redan finns det...
if($path !~ /\/$/) {
$path .= "/";
}
# skapa/öppna logfilen
open(LOG,">>$path"."log") or die("Kunde inte skapa logfilen: $!\n");
#skriv in i logfilen när backuppen påbörjades
print LOG "Påbörjar backup *** [";
($sec,$min,$hour,$mday,$mon,$year,$wday,
$yday,$isdst)=localtime(time);
printf LOG "%4d-%02d-%02d %02d:%02d:%02d]\n",
$year+1900,$mon+1,$mday,$hour,$min,$sec;
#
# ÄNDRA HÄR!
#
@file_path = ("/etc/X11/xorg.conf",
"/boot/grub/menu.lst",
"/etc/fstab");
#
#GLÖM INTE ATT LÄGGA TILL FILEN HÄR OCKSÃ…!!
#
@file_names = ("xorg.conf",
"menu.lst",
"fstab");
#börjar kopiera filerna...
for ($count=0; $count <= $#file_names; $count++) {
$char = 'j';
if( -e $file_path[$count]) {
if( -e "$path"."$file_names[$count]") {
print "$path"."$file_names[$count] existerar, Vill du skriva över den? \n";
system "stty", '-icanon', 'eol', "\001";
$char = 'x';
while($char ne 'j' and $char ne 'n') {
print "(j/n)\n";
$char = getc(STDIN);
}
if($char eq 'n') {
print LOG "Ersätter inte fil $path"."$file_names[$count]\n";
print "Ersätter inte fil $path"."$file_names[$count]\n";
} else {
print LOG "Ersätter fil $path"."$file_names[$count]\n";
print "Ersätter fil $path"."$file_names[$count]\n";
}
} if($char eq 'j') {
unless(copy($file_path[$count], $path.$file_names[$count])) {
print LOG "kunde inte kopiera fil [$file_path[$count]] *** [$!]\n";
print "kunde inte kopiera fil [$file_path[$count]] *** [$!]\n";
} else {
print "Filen $file_path[$count] är sparad som $path".
"$file_names[$count]\n";
print LOG "Filen $file_path[$count] är sparad som $path".
"$file_names[$count]\n";
}
}
} else {
print "Filen $file_path[$count] existerar inte\n";
print LOG "Filen $file_path[$count] existerar inte\n";
}
}
print LOG "Backup avslutad.\n";
close(LOG);
Konfigurationsfils-kopieringsskript
Strålande, precis nåt sånt var jag ute efter. Kanoners!
Innan man är riktigt säker, är man gärna tvärsäker.
Ubuntu user # 9864
Ubuntu user # 9864