[otrs-de] Einzelnes Ticket aus Backup Wiederherstellen

Robert Heinzmann Robert.Heinzmann at gmx.net
Mon Jan 3 17:53:54 CET 2005


Hallo,

habe mir mit nem einfachen Skript geholfen (siehe unten). Nach der 
Struktur der Datenbanken ist die Ticket ID Auto Increment und dies 
sollte keine Konflikte beim Rückspielen der Tickets geben, da Sie auch 
nach dem Löschen eines Tickets nicht neu vergeben werden sollte. Alles 
was gelöscht wird ist Das Ticket, die Articles, Article_Plain , 
Article_Attachement und die Ticket_History. Alles das hole ich mir mit 
nem einfachen "grep" aus dem DB Dump, den $OTRSDIR/scripts/backup.sh 
erzeugt. Bei mir hats funktioniert und ich konnte aus dem Backup von vor 
4 Stunden das Ticket wieder herstellen.

Anbei das Skript für alle die das vieleicht auch mal brauchen könnten 
(Dirty HACK! ).

Es erzeugt eine SQL Datei die dann mit "mysql DATENBANKNAME < 
SCRIPT.sql" eingespielt werden kann.

----- schnipp ------
# The Ticket NR
TNR=2004122010000057
# File that contains the restore SQL instructions
RESTOREFILE=/tmp/RESTORE/myrestore.sql
# Backup FILE that contains the Database SQL Dump to restore from
DBBACKUP=database_backup.sql
################################################
rm -f $RESTOREFILE
TICKET=$(grep "INSERT INTO ticket VALUES.*$TNR" $DBBACKUP | tee -a 
$RESTOREFILE)
TID=$(echo $TICKET | sed "s/INSERT\ INTO\ ticket\ VALUES\ 
(\([[:digit:]]*\),.*/\1/g")
echo "Creating Restore SQL File ($RESTOREFILE) for Ticket \"$TNR\" with 
ID \"$TID\""
grep "INSERT INTO article VALUES ([[:digit:]]*,$TID" $DBBACKUP >> 
$RESTOREFILE
grep "INSERT INTO article_attachment VALUES ([[:digit:]]*,$TID" 
$DBBACKUP >> $RESTOREFILE
grep "INSERT INTO article_plain VALUES ([[:digit:]]*,$TID" $DBBACKUP >> 
$RESTOREFILE
grep "INSERT INTO ticket_history VALUES 
([[:digit:]]*,[^,]*,[[:digit:]]*,$TID" $DBBACKUP >> $RESTOREFILE

Bye,

Robert Heinzmann

Robert Heinzmann wrote:

> Hallo,
>
> wir sichern OTRS alle 4 Stunden auf mit dem backup.sh Shell Skript. 
> Nun hat leider einer unserer Agenten ausversehen ein Ticket gelöscht. 
> gibt es eine möglichkeit ausgewählte Tickets aus dem Backup 
> zurückzuspielen ?
>
> Wenn nicht, ist es generell möglich dies umzusetzen, und gleichzeitig 
> die gesammten Primary Keys beibehält oder verwendet OTRS PriKeys, wenn 
> Sie frei sind, neu ? Währe dies möglich müsste man nach meinem 
> Fürhalten nur einen Filter bauen (Perl Regexp), der die "INSERT 
> INTO"'s aus der backup.sh raussuchtr, die für eine RefInt 
> Wiederherstellung notwendig sind.
>
> Ist das richtig ?
>
> Bye Robert Heinzmann
>
> _______________________________________________
> OTRS Mailingliste: otrs-de - Webpage: http://otrs.org/
> Archiv: http://lists.otrs.org/pipermail/otrs-de/
> Listenabo verwalten: http://lists.otrs.org/cgi-bin/listinfo/otrs-de/
> Support oder Consulting fuer Ihr OTRS System?
> => http://www.otrs.de/
>
>