Bitte um Backup Script Überprüfung.
Bitte um Backup Script Überprüfung.
Hallo,
da ich noch total unerfahren bin mit Shell Prog. hält mich das trotzdem nicht auf mal ein Backup script zu erstellen.
Leider wird das ganze immer umfangreicher und irrgendwie trau ich mich nicht das ganze mal zum testen auszuführen :-)
Könnte mal jemand einfach mal nur überfliegen ob ich da überhaupt auf dem richtigen weg bin? Meine ganzen infos sind aus dem redmonds büchern und aus scripten die ich so gefunden habe.
Also falls jemand lust und laune hat ....
Script wurde unten neu reingestellt.
Infos - Vorschläge usw .... DANKE!
lg
da ich noch total unerfahren bin mit Shell Prog. hält mich das trotzdem nicht auf mal ein Backup script zu erstellen.
Leider wird das ganze immer umfangreicher und irrgendwie trau ich mich nicht das ganze mal zum testen auszuführen :-)
Könnte mal jemand einfach mal nur überfliegen ob ich da überhaupt auf dem richtigen weg bin? Meine ganzen infos sind aus dem redmonds büchern und aus scripten die ich so gefunden habe.
Also falls jemand lust und laune hat ....
Script wurde unten neu reingestellt.
Infos - Vorschläge usw .... DANKE!
lg
Last edited by stormcrow on 2006-12-18 10:12, edited 1 time in total.
Re: Bitte um Backup Script Überprüfung.
Ich bin grad dabei an der Full Backup funktion herumzubasteln.
gedacht hab ich mir das ganze halt mit tar und vom root an aber dann würde ich ja das backup verzeichniss ja mitnehmen - ich hab mir mal die man page von tar angeschaut und nichts gesehen wie ich sagen kann alles von / aber nicht /var/backup und alles darunter.
Könnte mir da bitte jemand helfen dies zu lösen?
Danke.
gedacht hab ich mir das ganze halt mit tar und vom root an aber dann würde ich ja das backup verzeichniss ja mitnehmen - ich hab mir mal die man page von tar angeschaut und nichts gesehen wie ich sagen kann alles von / aber nicht /var/backup und alles darunter.
Könnte mir da bitte jemand helfen dies zu lösen?
Danke.
Re: Bitte um Backup Script Überprüfung.
Hi
naja dafür gibt's, wie der Name vermuten lässt, --exclude :)
Kann sein das der in der Manpage nicht erklärt wird...
.static
naja dafür gibt's, wie der Name vermuten lässt, --exclude :)
Kann sein das der in der Manpage nicht erklärt wird...
.static
Re: Bitte um Backup Script Überprüfung.
Also das
--exclude=FILE
exclude file FILE
-X, --exclude-from=FILE
exclude files listed in FILE
hab ich ja gefunden nur steht dort eben file und nicht directory - oder bleibt mir einfach nichts anderes übrig als alle files die dort drinnen stehen könnten in eine liste aufzunehmen?
Danke im Vorraus.
lg
--exclude=FILE
exclude file FILE
-X, --exclude-from=FILE
exclude files listed in FILE
hab ich ja gefunden nur steht dort eben file und nicht directory - oder bleibt mir einfach nichts anderes übrig als alle files die dort drinnen stehen könnten in eine liste aufzunehmen?
Danke im Vorraus.
lg
Re: Bitte um Backup Script Überprüfung.
Hi
ohne das jetzt direkt getestet zu haben, müsste doch --exclude /var/* funktionieren?
[Edit]
Laut http://answers.google.com/answers/threadview?id=739467
müsste auch
funktionieren.
[/Edit]
.static
ohne das jetzt direkt getestet zu haben, müsste doch --exclude /var/* funktionieren?
[Edit]
Laut http://answers.google.com/answers/threadview?id=739467
müsste auch
Code: Select all
tar -cvf backup.tar.gz --exclude "/home/excluded-dir2" /home
[/Edit]
.static
Re: Bitte um Backup Script Überprüfung.
Unter Linux ist ein directory nichts anderes als ein spezielles file (letztendlich wird nahezu alles als Objekt im Filesystem abgelegt, u. a. auch Devices, Sockets usw.).StormCrow wrote:nur steht dort eben file und nicht directory
Re: Bitte um Backup Script Überprüfung.
oh danke mal für die infos.
Ich bin grad dabei das ganze wieder etwas umzubauen da es einfach zu unübersichtlich wird.
Frage ... mein upgrade script .....
Wenn wir Montag haben - UND am Montag auch ein Update durchgeführt werden soll dann soll er mal ein update durchführen - Ausgabe nur bei fehlern in die ERROR log datei. - Wenn es eine error log datei gibt abbrechen und die datei mailen. - mit fehler aussteigen. - Wenn kein error log dann weiter zu upgrade funktion mit den gleichen bedingungen.
ich möchte das ganze nicht unbedingt mal live ausprobieren - kann mir da jemand sagen ob ich da if fi, else oder halt irrgendwelche fehler drinnen habe?
danke im vorraus.
lg
Ich bin grad dabei das ganze wieder etwas umzubauen da es einfach zu unübersichtlich wird.
Frage ... mein upgrade script .....
Wenn wir Montag haben - UND am Montag auch ein Update durchgeführt werden soll dann soll er mal ein update durchführen - Ausgabe nur bei fehlern in die ERROR log datei. - Wenn es eine error log datei gibt abbrechen und die datei mailen. - mit fehler aussteigen. - Wenn kein error log dann weiter zu upgrade funktion mit den gleichen bedingungen.
Code: Select all
if [ "$WTAG" = "1" ]
then
if [ "$UGT1" = "1" ]
then
apt-get -y -qq update >> "$BVLOG"/ERROR
test -e "$BVLOGN"/ERROR
if [ "$?" = "0" ]
mail -s "UPDATE FEHLER" "$EMAIL"<"$BVLOGN"/ERROR
exit 102
fi
apt-get -y -qq upgrade >> "$BVLOG"/ERROR
test -e "$BVLOGN"/ERROR
if [ "$?" = "0" ]
mail -s "UPGRADE FEHLER" "$EMAIL"<"$BVLOGN"/ERROR
exit 103
else
echo "Update durchgeführt"
fi
else
echo " heute kein update "
fi
else
echo " Dieser Tag wird übersprungen "
fi
danke im vorraus.
lg
Re: Bitte um Backup Script Überprüfung.
Genau dafür gibt es doch VMWare. Jeder sollte mal dieses "oh mein Gott; gut das *das* jetzt nicht produktiv war"-Gefühl haben ... ;-)StormCrow wrote:ich möchte das ganze nicht unbedingt mal live ausprobieren - kann mir da jemand sagen ob ich da if fi, else oder halt irrgendwelche fehler drinnen habe?
Re: Bitte um Backup Script Überprüfung.
setz noclobber in deiner shell, geht auch nix grossartig kaputt :-)
http://www.devdaily.com/unix/edu/IntroT ... e102.shtml
(also es werden ma keine files überschrieben etc.)
gruss, pseudo
http://www.devdaily.com/unix/edu/IntroT ... e102.shtml
(also es werden ma keine files überschrieben etc.)
gruss, pseudo
Re: Bitte um Backup Script Überprüfung.
kann mir da jemand sagen ob ich da if fi, else oder halt irrgendwelche fehler drinnen habe
Code: Select all
man bash... außerdem: Dein apt-get -y XXXX machst Du schon von Deinem eigenen Distributionssever, wo Du die Pakete schon von Dir vorkonfiguriert drauf getan hast - oder? Das bügelt beim upgrade von Dir geänderten Konfigurationen zurück auf Maintainersettings.
Re: Bitte um Backup Script Überprüfung.
Da ich etwas durcheinander gekommen bin und alles so auch nicht wirklich funktioniert hat, habe ich mich nochmals hingesetzt und fange nochmals an .....
Grundfunktionen sind schon mal da - falls jemand das ganze etwas tunen könnte oder verbesserungsvorschläge hätte - nehm ich die gerne auf :-)
lg
Code: Select all
#!/bin/sh
# STATUS
#
# VORARBEIT - Backup Struktur erstellen -> Error log files löschen -> log files erstellen
#
# MYSQL - Server stopen -> Datenbanken optimieren -> Datenbanken einzeln sichern -> Server starten
#
# WEB - Einzelne Webverzeichnisse sichern
#
# UPDATE - Updates einspielen -> Updates anwenden.
# APT-GET.ERROR - Error log des Apt-Get
# RKHUNTER.ERROR - Error log von RKHUNTER
# mysqlcheck-`date -I`.log - Logfile des MYSQL Check
# -----------------------------------------------------------------------------
# ------------------------------------------------------------ VARIABLEN SETZEN
# -----------------------------------------------------------------------------
DATUM=`date '+%d-%m-%Y'` # Datum Formatieren
WTAG=`date '+%u'` # Auslesen des Wochentages.
BVSQL="/var/backup/mysql/" # Pfad zum MySQL Verz.
BVLOGFILE="`date -I`-backup.log" # Dateiname des aktuellen Logfiles
BVLOG="/var/backup/logs/" # Backup Verzeichnis - LOGS
BVWWW="/var/backup/www/" # Backup Verzeichnis - WWW
WEBVERZ="/var/www/" # Verzeichniss der WWW Files
BVMAIN="/var/backup/" # Backup Verzeichnis - Root
EMAIL="" # EMail Adresse der Verantwortlichen Person oder Personen
WEBB1="0" # Soll web1 gesichert werden? (1=Ja)
WEBB2="0" # Soll web2 gesichert werden? (1=Ja)
WEBB3="1" # Soll web3 gesichert werden? (1=Ja)
WEBB4="0" # Soll web4 gesichert werden? (1=Ja)
WEBB5="0" # Soll web5 gesichert werden? (1=Ja)
WEBB6="0" # Soll web6 gesichert werden? (1=Ja)
WEBB7="0" # Soll web7 gesichert werden? (1=Ja)
WEBB8="0" # Soll web8 gesichert werden? (1=Ja)
WEBB9="0" # Soll web9 gesichert werden? (1=Ja)
# -----------------------------------------------------------------------------
# ------------------------------------------------------------------- VORARBEIT
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mVorcheck wird durchgeführt\033[0m"
echo " "
echo " "
# -----------------------------------------------------------------------------
# BACKUP STRUCTUR CHECKEN | ERSTELLEN -----------------------------------------
# -----------------------------------------------------------------------------
test -d "$BVMAIN"
if [ "$?" = "1" ]
then
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVMAIN"\033[0m"
mkdir "$BVMAIN" # Root Backup Verzeichnis
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVSQL"\033[0m"
mkdir "$BVSQL" # SQL Backup Verzeichnis
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVWWW"\033[0m"
mkdir "$BVWWW" # WWW Backup Verzeichnis
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVLOG"\033[0m"
mkdir "$BVLOG" # LOG Backup Verzeichnis
fi
# -----------------------------------------------------------------------------
# NEUES LOGFILE ANLEGEN -------------------------------------------------------
# -----------------------------------------------------------------------------
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVLOG""$BVLOGFILE"\033[0m"
touch "$BVLOG""$BVLOGFILE"
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVLOG"APT-GET.ERROR\033[0m"
touch "$BVLOG"APT-GET.ERROR
echo -e "\033[1mErstellung von ................................................ \033[36m"$BVLOG"RKHUNTER.ERROR\033[0m"
touch "$BVLOG"RKHUNTER.ERROR
# -----------------------------------------------------------------------------
# RKHUNTER UPDATEN ------------------------------------------------------------
# -----------------------------------------------------------------------------
echo -e -n "\033[1mWget Installieren ............................................. "
apt-get -y -qq install wget > /dev/null
echo -e "\033[36mDONE\033[0m"
echo -e -n "\033[1mRKHunter Updaten .............................................. "
rkhunter --update --quiet > /dev/null
echo -e "\033[36mDONE\033[0m"
echo -e -n "\033[1mWget entfernen ................................................ "
apt-get -y -qq remove wget >> /dev/null
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# ------------------------------------------------------------- MYSQL SICHERUNG
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mMySQL Sicherung wird gestartet\033[0m"
echo " "
echo " "
# -----------------------------------------------------------------------------
# MYSQL SERVER STOP -----------------------------------------------------------
# -----------------------------------------------------------------------------
#/etc/init.d/mysql stop
# Testen ob der MySQL Server ordentlich gestop wurde
#if [ "$?" = "1" ]
#then
# # Falls der MySQL Server nicht ordentlich gestopt werden konnte dann ....
# echo ""$DATUM" - MYSQL BACKUP - MySQL Server konnte nicht gestopt werden." >> "$BVLOG""$BVLOGFILE"
# mail -s "SQL BACKUP FEHLER" "$EMAIL"<"$BVLOG""$BVLOGFILE"
# echo ""$DATUM" - MYSQL BACKUP - MySQL Server konnte nicht gestopt werden. -> Exit 100"
# exit 100
#else
# -----------------------------------------------------------------------------
# DATENBANK OPTIMIERUNG DURCHFÜHREN -------------------------------------------
# -----------------------------------------------------------------------------
echo
echo -e -n "\033[1mDatenbank Optimierung ......................................... \033[0m"
mysqlcheck --all-databases --auto-repair --extended --optimize >"$BVLOG"mysqlcheck-`date -I`.log
# mysqlcheck --all-databases --auto-repair --extended -u"$DBUSER" -p"$DBPASS" --optimize >"$BVLOG"mysqlcheck-`date -I`.log
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# DATENBANK EXTRA SICHERN -----------------------------------------------------
# -----------------------------------------------------------------------------
#echo " "
#echo -e "\033[1mDatenbank Sicherung wird durchgeführt\033[0m .............................. "
for i in `mysql -Bs -e "show databases"`
do
echo -e -n "\033[1mDatenbank Sicherung ........................................... \033[38m"$i"\033[0m - "
# mysqldump -u"$DBUSER" -p"$DBPASS" --opt --quote-names "$i" | bzip2 -c > "$BVSQL"datenbankbackup-$i`date -I`.sql.bz2
mysqldump --opt --quote-names "$i" | bzip2 -c > "$BVSQL"datenbankbackup-$i`date -I`.sql.bz2
echo -e "\033[36mDONE\033[0m"
done
# -----------------------------------------------------------------------------
# MYSQL SERVER START ----------------------------------------------------------
# -----------------------------------------------------------------------------
#/etc/init.d/mysql start
# Testen ob der MySQL Server ordentlich gestartet wurde
#if [ "$?" = "1" ]
#then
# echo ""$DATUM" - MYSQL BACKUP - MySQL Server konnte nicht gestartet werden." >> "$BVLOG"/"$BVLOGFILE"
# mail -s "SQL BACKUP FEHLER" "$EMAIL"<"$BVLOG""$BVLOGFILE"
# echo ""$DATUM" - MYSQL BACKUP - MySQL Server konnte nicht gestartet werden. -> Exit 101"
# exit 101
#else
# -----------------------------------------------------------------------------
# --------------------------------------------------------------- WEB SICHERUNG
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mWEB Sicherung wird gestartet\033[0m"
echo " "
echo " "
echo -e -n "\033[1mSicherung von ................................................. \033[36mWEB1 - "
if [ "$WEBB1" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web1-`date -I`.tar.gz "$WEBVERZ"web1 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB2 - "
if [ "$WEBB2" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web2-`date -I`.tar.gz "$WEBVERZ"web2 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB3 - "
if [ "$WEBB3" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web3-`date -I`.tar.gz "$WEBVERZ"web3 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB4 - "
if [ "$WEBB4" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web4-`date -I`.tar.gz "$WEBVERZ"web4 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB5 - "
if [ "$WEBB5" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web5-`date -I`.tar.gz "$WEBVERZ"web5 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB6 - "
if [ "$WEBB6" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web6-`date -I`.tar.gz "$WEBVERZ"web6 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB7 - "
if [ "$WEBB7" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web7-`date -I`.tar.gz "$WEBVERZ"web7 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
echo -e -n "\033[1mSicherung von ................................................. \033[38mWEB8 - "
if [ "$WEBB8" = "1" ] # Falls gewünscht wird diese Sicherung durchgeführt
then
tar cvfz "$BVWWW"backup-web8-`date -I`.tar.gz "$WEBVERZ"web8 > /dev/null 2&> /dev/null
echo -e "\033[36mDONE\033[0m"
else
echo -e "\033[38mÜBERSPRUNGEN\033[0m"
fi
# -----------------------------------------------------------------------------
# --------------------------------------------------------------- SYSTEM UPDATE
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mUPGRADES werden gestarten\033[0m"
echo " "
echo " "
# -----------------------------------------------------------------------------
# System Update ---------------------------------------------------------------
# -----------------------------------------------------------------------------
echo -e -n "\033[1mAPT-GET Update ................................................ "
apt-get -y -qq update >> "$BVLOG"APT-GET.ERROR
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# System Upgrade --------------------------------------------------------------
# -----------------------------------------------------------------------------
echo -e -n "\033[1mAPT-GET Upgrade ............................................... "
apt-get -y -qq upgrade >> "$BVLOG"APT-GET.ERROR
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# ----------------------------------------------------------- SICHERHEITS CHECK
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mSICHERHEITSCHECKS werden durchgeführt\033[0m"
echo " "
echo " "
# -----------------------------------------------------------------------------
# RKHUNTER --------------------------------------------------------------------
# -----------------------------------------------------------------------------
echo -e -n "\033[1mRKHUNTER ...................................................... "
rkhunter -c --quiet > "$BVLOG"RKHUNTER.ERROR
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# --------------------------------------------------------- LOG FILES ERSTELLEN
# -----------------------------------------------------------------------------
echo " "
echo " "
echo -e "t \033[38mLOG FILES ERSTELLEN\033[0m"
echo " "
echo " "
# -----------------------------------------------------------------------------
# ERROR LOGS ZUSAMMENFÜHREN ---------------------------------------------------
# -----------------------------------------------------------------------------
echo -e -n "\033[1mRKHunter Log zusammenfügen .................................... "
echo "--------------------------------------------------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo "------------------------------ RKHunter Log ------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo "--------------------------------------------------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo " " >>"$BVLOG"`date -I`-ERROR.log
cat "$BVLOG"/RKHUNTER.ERROR >>"$BVLOG"`date -I`-ERROR.log
echo " " >>"$BVLOG"`date -I`-ERROR.log
echo -e "\033[36mDONE\033[0m"
echo " " >>"$BVLOG"`date -I`-ERROR.log
echo -e -n "\033[1mAPT-GET Log zusammenfügen ..................................... "
echo "--------------------------------------------------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo "------------------------------ Apt-Get Log -------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo "--------------------------------------------------------------------------" >>"$BVLOG"`date -I`-ERROR.log
echo " " >>"$BVLOG"`date -I`-ERROR.log
cat "$BVLOG"/APT-GET.ERROR >>"$BVLOG"`date -I`-ERROR.log
echo " " >>"$BVLOG"`date -I`-ERROR.log
echo -e "\033[36mDONE\033[0m"
# -----------------------------------------------------------------------------
# ------------------------------------------------------------- DATEN VERSENDEN
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# ------------------------------------------------- BACKUP VERZEICHNISS LÖSCHEN
# -----------------------------------------------------------------------------
#rm -r /var/backup
lg
Re: Bitte um Backup Script Überprüfung.
hast du ein eigenes repository, das auf deinen Rechner abgestimmte und vorkonfigurierte Pakete enthält?apt-get -y -qq update
Re: Bitte um Backup Script Überprüfung.
lucki2 .... aehm ... die updates werden dann über den debian mirror geholt.
ich hab mir da mich Linux interessierte einfach mal bei uns im wifi die kompletten Schulungen gegeben (leider musste ich erst später feststellen das hier alles eher nur angekratzt wird) - ich bin auch schlecht im sturen auswendig lernen also geh ich mal die ganzen lpi Bücher durch und zieh mir mal einfach Sachen heraus welche mich interessieren - falls du lust und laune hast .... kannst du mir das bitte etwas genauer erklären?
(jaja ich sehe das Forum als ... fragen und lernen an da ich bis jetzt beim durchlesen durchwegs a) Leute mit wissen und b.) Freundlichkeit kennen gelernt habe.
lg
(Gedacht ist das einfach nur da ich eigentlich immer die updates händisch durchführe) mir ist das Risiko schon durchaus bewusst das automatische updates nicht gerade sicher sind falls was schief geht aber ich hab es einfach mal als Feature erdacht. Die updates werden vom debian.org server geholt.
lg
ich hab mir da mich Linux interessierte einfach mal bei uns im wifi die kompletten Schulungen gegeben (leider musste ich erst später feststellen das hier alles eher nur angekratzt wird) - ich bin auch schlecht im sturen auswendig lernen also geh ich mal die ganzen lpi Bücher durch und zieh mir mal einfach Sachen heraus welche mich interessieren - falls du lust und laune hast .... kannst du mir das bitte etwas genauer erklären?
(jaja ich sehe das Forum als ... fragen und lernen an da ich bis jetzt beim durchlesen durchwegs a) Leute mit wissen und b.) Freundlichkeit kennen gelernt habe.
lg
(Gedacht ist das einfach nur da ich eigentlich immer die updates händisch durchführe) mir ist das Risiko schon durchaus bewusst das automatische updates nicht gerade sicher sind falls was schief geht aber ich hab es einfach mal als Feature erdacht. Die updates werden vom debian.org server geholt.
lg
Re: Bitte um Backup Script Überprüfung.
Ich weiß. Ich weiß aber auch, was es heißt wenn eine Apache Konfiguration überschrieben wird und nächsten Tag nichts mehr geht - oder eine beliebige andere Konfiguration(apache geht ja noch, weil die ist nicht sonderlich aufwendig bzw geläufig), oder ....ucki2 .... aehm ... die updates werden dann über den debian mirror geholt.
Re: Bitte um Backup Script Überprüfung.
Aha - kann mich nicht erinnern das dies unser Trainer im Kurs erwähnt hat - eher wurde gesagt man soll das System mit den updates auf dem neuesten stand halten um Sicherheitslücken falls welche gefunden wurden zu schließen. Alse eher jeden tag (jaja händisch) update und upgrade durchzuführen.
lg
lg
Re: Bitte um Backup Script Überprüfung.
Mach so viele updates, wie du willst.
Ich sage dir: wenn du Fragen von apt, danach ob eine Konfiguration überschrieben werden soll, mit "Ja" beantwortest(!= default), dann macht das apt-get auch. Ehrlich wahr.
Aus der manpage
Ich sage dir: wenn du Fragen von apt, danach ob eine Konfiguration überschrieben werden soll, mit "Ja" beantwortest(!= default), dann macht das apt-get auch. Ehrlich wahr.
Aus der manpage
kannst du deinem Trainer ja vor lesen. Nicht wahr?-y, --yes, --assume-yes
Automatic yes to prompts; assume "yes" as answer to all prompts and
run non-interactively. If an undesirable situation, such as changing
a held package, trying to install a unauthenticated package or
removing an essential package occurs then apt-get will abort.
Configuration Item: APT::Get::Assume-Yes.
Re: Bitte um Backup Script Überprüfung.
Hallo, gelesen hab ich das ganze, und ich sehe deine beiträge als konstruktiver beitrag der mir ja hilft.
Also automatisches update rausnehmen oder config files immer vorher sichern (was wohl etwas aufwändig wäre oder?).
lg
Also automatisches update rausnehmen oder config files immer vorher sichern (was wohl etwas aufwändig wäre oder?).
lg
Re: Bitte um Backup Script Überprüfung.
Eigentlich sollten updates beaufsichtigt werden.
Nr1:
set. Das schickt Dir wenigstens Mails.
Nr2:
Sind zumindest die Konfigfiles geschützt(wenn y unbedingt sein muss).
Nr1:
Code: Select all
dpkg-reconfigure debconf
apt-get install cron-apt
vi /etc/cron-apt/config
cat /etc/cron-apt/action.d/0-update
cat /etc/cron-apt/action.d/3-downloadNr2:
Code: Select all
DEBIAN_FRONTEND=noninteractive apt-get -y -o
'DPkg::Options={"--force-confdef";"--force-confold"};' upgradeRe: Bitte um Backup Script Überprüfung.
Nr.3: Was gerade bei internen Servern ganz gut ist (die laufen bei mir meistens auf unstable):
flo.
Code: Select all
apt-get update
apt-get -qq -d -y --force-yes upgrade
apt-get upgradeRe: Bitte um Backup Script Überprüfung.
flo, du hast natürlich recht. *g* Natürlich ... ähm ... :
*g*
gibt:
und
(defaults)
Code: Select all
apt-get `cat /etc/cron-apt/action.d/3-download`
apt-get `cat /etc/cron-apt/action.d/0-update`
gibt:
Code: Select all
autoclean -y
dist-upgrade -d -y -o APT::Get::Show-Upgraded=trueCode: Select all
update -o quiet=2Re: Bitte um Backup Script Überprüfung.
cron-apt macht das so???
Shit, wieder das Rad neu erfunden ... :-)
flo.
Shit, wieder das Rad neu erfunden ... :-)
flo.
Re: Bitte um Backup Script Überprüfung.
ein paar hundert Zeilen Script drumrum aber prinzipiell schon.
Mein Gedankengang war: was braucht der Mensch?
a) eine Warnung, daß es da Problemchen geben kann.
b) was zum spicken, wie es Andere machen.
c) einen Hinweis, daß mehr geht, als in der apt manpage steht
--
Weil Du wieder auf unstable zum sprechen kommst. Auf (dot)int läuft bei mir auch unstable. Der Desktop hier auch. Da laufen auch Experimental-, Alpha Geschichten und sonstiger Unsinn. Klar:Wenn ich eine App schreibe sollte sie möglichst nicht schon veraltet sein, wenn sie fertig ist. - Wäre ungünstig.
Und Klar: Auch ich schmunzle über Kandidaten, die per "./configure && make all" ihre Sachen kompilieren und wenn eine Warnung auftaucht hier nachfragen - aber auf der anderen Seite vor Problemen mit unstable warnen. Ich meine "./configure && make all" kriegen die dd's schon auch noch hin(ich glaube du weißt schon, was ich meine) ...
Dennoch ist es für mich ein immenser Unterschied, ob ich irgendwo eine Unstable auf einen Rechner mit Hardwarezugriff habe, einen zweite Installation in einer Chroot auf unstable ziehe, damit ich ein Preview ins Netz stellen kann - oder ob ich einen RootServer selber darauf betreibe. Wenn die chroot abkackt: Künstlerpech. Wenn der Desktop abkackt: die cd liegt am Tisch. Wenn aber der Shop von xy abkackt, dann ist jemand auf mich sauer - und zu recht.
Das schlimmste, was ich damit erlebt habe, war in einer Programmiersession im Hintergrund ein update gemacht. Icq offen, mail, cvs, tausend terminals - richtig zünftige Session und das Ding hat mir X Kaputgeschossen - und weg wars. War auch nach ein paar Minuten wieder da. Soo dramatisch wie manche tun ist das tatsächlich nicht - aber auf einen produktiven Server möchte ich möglichst auf so etwas verzichten.
Mein Gedankengang war: was braucht der Mensch?
a) eine Warnung, daß es da Problemchen geben kann.
b) was zum spicken, wie es Andere machen.
c) einen Hinweis, daß mehr geht, als in der apt manpage steht
--
Weil Du wieder auf unstable zum sprechen kommst. Auf (dot)int läuft bei mir auch unstable. Der Desktop hier auch. Da laufen auch Experimental-, Alpha Geschichten und sonstiger Unsinn. Klar:Wenn ich eine App schreibe sollte sie möglichst nicht schon veraltet sein, wenn sie fertig ist. - Wäre ungünstig.
Und Klar: Auch ich schmunzle über Kandidaten, die per "./configure && make all" ihre Sachen kompilieren und wenn eine Warnung auftaucht hier nachfragen - aber auf der anderen Seite vor Problemen mit unstable warnen. Ich meine "./configure && make all" kriegen die dd's schon auch noch hin(ich glaube du weißt schon, was ich meine) ...
Dennoch ist es für mich ein immenser Unterschied, ob ich irgendwo eine Unstable auf einen Rechner mit Hardwarezugriff habe, einen zweite Installation in einer Chroot auf unstable ziehe, damit ich ein Preview ins Netz stellen kann - oder ob ich einen RootServer selber darauf betreibe. Wenn die chroot abkackt: Künstlerpech. Wenn der Desktop abkackt: die cd liegt am Tisch. Wenn aber der Shop von xy abkackt, dann ist jemand auf mich sauer - und zu recht.
Das schlimmste, was ich damit erlebt habe, war in einer Programmiersession im Hintergrund ein update gemacht. Icq offen, mail, cvs, tausend terminals - richtig zünftige Session und das Ding hat mir X Kaputgeschossen - und weg wars. War auch nach ein paar Minuten wieder da. Soo dramatisch wie manche tun ist das tatsächlich nicht - aber auf einen produktiven Server möchte ich möglichst auf so etwas verzichten.
Last edited by lucki2 on 2006-12-20 23:35, edited 1 time in total.
Re: Bitte um Backup Script Überprüfung.
ACK - ich bin nach diversen Umtriebigkeiten nun bei Ubuntu LTS gelandet - für einige Sachen der ideale Kompromiß - auf bleeding-edge-Versionen vom LAMP bin ich per Distri nicht angewiesen, weil ich die - außer auf meinem yahoo-vServer - selber baue.
(Der ist die einzige Ausnahme, weil ich mir sonst nach dem Kompilieren schon die neuere Version aus dem Netz ziehen kann - außerdem läuft auf dem Ding nur Standardkram.)
Unstable käuft bei mir nur noch auf psysikalischen Systemen, wo man im Notfall noch per Hand rankommt - allerdings hab ich das noch nicht wirklich gebraucht.
Unstable war übrigens der Grund dafür, daß das Update-Script bei mir so aussieht, der Cyrus hat da mit dem Postfix das Problem, daß der lmtpd nicht sauber beendet wird und dementsprechend die Mailzustellung nach Update hängt - unter Tag dann beim Kunden den Cyrus upzudaten, ist tödlich.
flo.
(Der ist die einzige Ausnahme, weil ich mir sonst nach dem Kompilieren schon die neuere Version aus dem Netz ziehen kann - außerdem läuft auf dem Ding nur Standardkram.)
Unstable käuft bei mir nur noch auf psysikalischen Systemen, wo man im Notfall noch per Hand rankommt - allerdings hab ich das noch nicht wirklich gebraucht.
Unstable war übrigens der Grund dafür, daß das Update-Script bei mir so aussieht, der Cyrus hat da mit dem Postfix das Problem, daß der lmtpd nicht sauber beendet wird und dementsprechend die Mailzustellung nach Update hängt - unter Tag dann beim Kunden den Cyrus upzudaten, ist tödlich.
flo.
Re: Bitte um Backup Script Überprüfung.
Natürlich: nichts gegen selber kompilieren, wenn jemand weiß warum.
Ich habe das nur wenn ich bugs reproduzieren muß, Zielsystemtest fehlschlagen nicht so gerne, wenn die Leute ihre selbstgestrickten Sachen haben. *flöt, träller*
Auch nicht, wenn ich mir ein System anschaue und erstmal suchen muß, was das überhaupt ist.
Etwas anderes ist es, wenn ich einen ordentlichen Server mit Log habe, wo Änderungen drin stehen und mal nicht der Praktikant am Server rumpfuschen darf. Es ist auch dann etwas anderes, wenn das ein Server ist, den nur ich administriere... (genug gemotzt für heute - ich muß schon gleich wieder aufstehen ;) )
Ich habe das nur wenn ich bugs reproduzieren muß, Zielsystemtest fehlschlagen nicht so gerne, wenn die Leute ihre selbstgestrickten Sachen haben. *flöt, träller*
Auch nicht, wenn ich mir ein System anschaue und erstmal suchen muß, was das überhaupt ist.
Etwas anderes ist es, wenn ich einen ordentlichen Server mit Log habe, wo Änderungen drin stehen und mal nicht der Praktikant am Server rumpfuschen darf. Es ist auch dann etwas anderes, wenn das ein Server ist, den nur ich administriere... (genug gemotzt für heute - ich muß schon gleich wieder aufstehen ;) )
