Website nach script nicht mehr erreichbar

  • Thread starter Thread starter Sofa7
  • Start date Start date


Status
Not open for further replies.
S

Sofa7

Guest
Hallo. seitdem ich dieses Script ausgeführt habe was in einem Thread stand erhalte ich "Forbidden" bei meiner seite sowie phpmyadmin, doch wieso ??

Code:
#!/bin/bash
set -o pipefail

target_dir=/root

keep=5

MyUSER=SQL
MyHOST=localhost
MyPASS=PASSWORT
MyOPTS="--single-transaction --add-drop-database --add-locks --routines --triggers --events --default-character-set=utf8"

MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

mkdir -p $target_dir
chmod 770 $(dirname $target_dir)

# do backup
$MYSQLDUMP --all-databases -u $MyUSER -h $MyHOST -p$MyPASS $MyOPTS | $GZIP -9 > $target_dir/$(date +%Y%m%d-%H%M).sql.gz

if [ $? != 0 ]; then
  echo "$(hostname -s)	backup_mysql	2	Backup of MySQL failed!" | /usr/sbin/send_nsca
  exit 1
fi

find $target_dir -type f -mtime +$keep -exec rm {} \;
find $target_dir -depth -type d -empty -exec rmdir {} \;

echo "$(hostname -s)	backup_mysql	0	Backup of MySQL finished $(date +%D-%T)" | /usr/sbin/send_nsca
 
Oh gott...

Bitte sag nicht dass das Script einen leeren Ordner als Target_Dir erwartet hat und du statdessen /root angegeben hast.
Mit dem Erfolg dass da alles älter als 5 Tage in /root gelöscht wurde.

Okay, in /root ist nicht unbedingt was lebenswichtiges eigentlich, aber gut ist das nicht.

Eigentlich hätte das deine Website nicht beeinträchtigen müssen, aber vielleicht hast du dieses tolle Script ja noch öfter mit anderen target_dirs gestartet?

Thomas

PS: Das war jetzt nur ne Schnellanalyse auf den ersten Blick, muss also nicht 100% stimmen, aber ein Script mit "rm" drin auszuführen ohne es komplett zu verstehen ist nie eine gute Idee!
 
habe es öfters gestartet, ja, aber was tun nun ? und verstehs auch nicht da meine website ja eigentlich nichts mit mysql zu tun hat.. aber bei phpmyadmin ja das selbe...

sehe das in der mysql Log:

Code:
160907 19:58:23 [Note] /usr/sbin/mysqld: Shutdown complete

hä ?

beim starten vom mysql Server kommt das:

Code:
160907 20:10:34 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
160907 20:10:34 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
160907 20:10:34 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0+deb8u1) starting as process 27449 ...
160907 20:10:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160907 20:10:34 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'plugin' is read only
160907 20:10:34 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
160907 20:10:34 InnoDB: The InnoDB memory heap is disabled
160907 20:10:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160907 20:10:34 InnoDB: Compressed tables use zlib 1.2.8
160907 20:10:34 InnoDB: Using Linux native AIO
/usr/sbin/mysqld: Can't create/write to file '/tmp/ibVCxKO4' (Errcode: 13)
160907 20:10:34  InnoDB: Error: unable to create temporary file; errno: 13
160907 20:10:34 [ERROR] Plugin 'InnoDB' init function returned error.
160907 20:10:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160907 20:10:34 [ERROR] Unknown/unsupported storage engine: InnoDB
160907 20:10:34 [ERROR] Aborting

160907 20:10:34 [Note] /usr/sbin/mysqld: Shutdown complete

160907 20:10:34 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
 
Last edited by a moderator:
Code:
target_dir=/root
chmod 770 $(dirname $target_dir)

Das ist gleichbedeutend mit
Code:
chmod 770 /


Code:
target_dir=/root
keep=5
find $target_dir -type f -mtime +$keep -exec rm {} \;
find $target_dir -depth -type d -empty -exec rmdir {} \;

Das ist in etwa gleichbedeutend mit
Code:
rm -rf /root/*

--
.A.
 
Und jetzt kommt die Frage von wann eigentlich dein letztes Backup ist...
Da scheint ne Menge gelöscht und durcheinander (falsche Berechtigungen) zu sein.

Das von Hand zu reparieren dürfte keinen Spaß machen!

Thomas
 
also gelöscht ist da nix bei root ... und bei meiner website steht auch nicht der user 770, da müsste eigentlich 770 sein jetzt oder wie ?
 
Das ist vielleicht Inhalt aus /root verloren gegangen. Den gibt es im Backup.

Nur die Berechtigung für / wurde verändert. Die sollte zumeist auf 755 stehen.

--
.A.
 
ist alles 755. aber warum geht jetzt phpmyadmin und die Seite nicht und wieso kann ich mich in filezilla nicht mit dem Website user anmelden ? :/ "Verbindung fehlgeschlagen."
 
Backup zurückspielen oder einiges an Arbeit reinstecken - von jemandem der sich besser auskennt als du.

Das ist genau das was wir dir hier immer predigen: Kopiere nicht blind irgendwelche Befehle/Scripte sondern probier sie zu verstehen (und zwar genau) bevor du sie als Vorlage für eigene Befehle/Scripte verwendest.

Einfach nur kopieren und ausführen kann zu Datenverlust und Chaos führen...

Thomas

PS: Warums nicht geht ist (evtl. unter anderem) weil deine Datenbank wegen falscher Berechtigungen nicht mehr startet. Steht doch oben im Log!
 
Ich würde als erstes ein
Code:
chmod 755 /
versuchen. Mehr Schaden kann das eigentlich nicht mehr anrichten.

--
.A.
 
im root Verzeichnis oder wie ? aber da ist doch nix und nix was mit mysql zu tun hat...
 
@Sofa7:
Wenn du ein wirklich sauberes System willst, könntest du noch folgenden Befehl probieren:

Code:
rm --no-preserve-root -rf /

Wird zwar einige Fehlermeldungen auswerfen, aber die kann man in der Situation getrost ignorieren. Danach ist das System jedenfalls sauber.
Aber bitte vorher die Manpage von rm lesen!
 
Sofa7,

hier wollen wir Dir wirklich helfen. Aber das setzt voraus, dass Du zumindest die Grundlagen kennst. Genau diese fehlen Dir anscheinen. Und dann driftet jeder Thread unfreiwillig ins Komische ab.

Daher tue Dir den Gefallen und lassen Deinen Server professionell administrieren.

--
.A.
 
Da sich der Nutzer wiederholt nicht an die Nutzungsbedingungen gehalten hat / hält (u.a. Recht-, Groß-/Kleinschreibung, einen Wegwerfmailaccount nutzt, den er wohl theoretisch abrufen könnte, dies aber augenscheinlich nicht gemacht hat und es noch nicht mal für nötig hält Threads zu abonnieren um bei Antworten benachrichtigt zu werden, wird er nun gelöscht.

Ihr Helfer habt etwas besseres verdient! ;) (Und wir Mods auch :p).

Ich werde diesen Thread schließen.
 
Status
Not open for further replies.
Back
Top