Automatisiertes USB eject und ssh cmd nach Time Backup

Status
Für weitere Antworten geschlossen.

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Ich habe nun ein paar Fehlversuche unternommen....
Das Script habe ich unter homes/admin. Daran wirds aber nicht liegen.
Source habe ich zum test auskommentiert.
Im ersten versuch will ich den homes Ordner sichern.
Ich bekomme aber die Mail
--------------------
Aufgabe: Task 6
Skript:
/volume1/homes/admin/Backup.sh
Standardausgabe/Fehler:
eSATA unavailable
--------------------
und weiß nicht warum.

Habe ich zu viel gelöscht? Was mache ich alles falsch? Das Backup soll nach "/volumeSATA1/satashare1-2/rsync".

CHMOD="/bin/chmod"
CHOWN="/bin/chown"
DATE="/bin/date"
ECHO="/bin/echo"
RSYNC="/usr/syno/bin/rsync"
UMOUNT="/bin/umount"

#SOURCE="/volume1"
DEST="/volumeSATA1/satashare1-2/rsync"

if [ -d $DEST/'$RECYCLE.BIN' ]; then
$RSYNC -rltvh --delete /volume1/homes/ $DEST
$CHOWN owner:local
$CHMOD 644

# eSATA Platte unmounten und auswerfen
$UMOUNT /dev/sdg1
$ECHO 1 > /sys/block/sdg/device/delete
else
$ECHO "eSATA unavailable"
fi
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
jetzt hat es geklappt.
Entfernt habe ich "'$RECYCLE.BIN' "
#CHMOD="/bin/chmod"
#CHOWN="/bin/chown"
#DATE="/bin/date"
ECHO="/bin/echo"
RSYNC="/usr/bin/rsync"
UMOUNT="/bin/umount"

#SOURCE="/volume1"
DEST="/volumeSATA1/satashare1-2/rsync"

if [ -d $DEST/ ]; then
$RSYNC -rltvh --delete /volume1/homes/ $DEST
#$CHOWN owner:local
#$CHMOD 644

# eSATA Platte unmounten und auswerfen
##$UMOUNT /dev/sdg1
##$ECHO 1 > /sys/block/sdg/device/delete
else
$ECHO "eSATA unavailable"
fi

sdg scheint aber noch falsch zu sein. zumindest bekomme ich die Meldung, dass das Laufwerk nicht korrekt ausgeworfen wurde.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Mach doch bitte einmal

Rich (BBCode):
cat /proc/scsi/scsi
dmesg | grep sd

wenn die eSATA-Platte eingeschaltet ist.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
da kommt:
login as: root
root@192.168.1.99's password:
root@DiskStation:~# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: SanDisk Model: SDSSDHII240G Rev: X312
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: WDC Model: WD40EFRX-68WT0N0 Rev: 80.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi5 Channel: 00 Id: 00 Lun: 00
Vendor: WDC Model: WD40EZRX-00SPEB0 Rev: 80.0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi8 Channel: 00 Id: 00 Lun: 00
Vendor: Synology Model: DiskStation Rev: PMAP
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: WDC Model: WD40EZRX-00SPEB0 Rev: 80.0
Type: Direct-Access ANSI SCSI revision: 05
root@DiskStation:~# dmesg | grep sd
[ 4.080538] ahci 0000:00:17.0: flags: 64bit ncq led clo pio deso sadm sds apst
[ 7.508962] sd 0:0:0:0: [sdc] 468862128 512-byte logical blocks: (240 GB/223 GiB)
[ 7.517552] sd 0:0:0:0: [sdc] Write Protect is off
[ 7.522930] sd 0:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[ 7.522979] sd 0:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 7.533947] sdc: sdc1 sdc2 sdc3
[ 7.538547] sd 0:0:0:0: [sdc] Attached SCSI disk
[ 8.481053] ahci 0000:00:18.0: flags: 64bit ncq led clo pio deso sadm sds apst
[ 25.669653] sd 4:0:0:0: [sda] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 25.684001] sd 4:0:0:0: [sda] 4096-byte physical blocks
[ 25.690002] sd 4:0:0:0: [sda] Write Protect is off
[ 25.695377] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 25.695425] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 25.773252] sda: sda1 sda2 sda3
[ 25.778541] sd 4:0:0:0: [sda] Attached SCSI disk
[ 43.147540] sd 5:0:0:0: [sdb] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 43.156235] sd 5:0:0:0: [sdb] 4096-byte physical blocks
[ 43.169120] sd 5:0:0:0: [sdb] Write Protect is off
[ 43.174502] sd 5:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 43.174542] sd 5:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 43.264588] sdb: sdb1 sdb2 sdb3
[ 43.269842] sd 5:0:0:0: [sdb] Attached SCSI disk
[ 47.366893] sd 6:0:0:0: [sdg] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 47.375583] sd 6:0:0:0: [sdg] 4096-byte physical blocks
[ 47.381579] sd 6:0:0:0: [sdg] Write Protect is off
[ 47.386961] sd 6:0:0:0: [sdg] Mode Sense: 00 3a 00 00
[ 47.387010] sd 6:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 56.070720] sdg: sdg1 sdg2
[ 56.074753] sd 6:0:0:0: [sdg] Attached SCSI disk
[ 56.542428] md: invalid raid superblock magic on sda3
[ 56.548098] md: sda3 does not have a valid v0.90 superblock, not importing!
[ 56.609741] md: invalid raid superblock magic on sdb3
[ 56.615409] md: sdb3 does not have a valid v0.90 superblock, not importing!
[ 56.626249] md: invalid raid superblock magic on sdc3
[ 56.626250] md: sdc3 does not have a valid v0.90 superblock, not importing!
[ 56.626259] md: considering sda1 ...
[ 56.626265] md: adding sda1 ...
[ 56.626268] md: sda2 has different UUID to sda1
[ 56.626271] md: adding sdb1 ...
[ 56.626274] md: sdb2 has different UUID to sda1
[ 56.626277] md: adding sdc1 ...
[ 56.626280] md: sdc2 has different UUID to sda1
[ 56.626292] md: bind<sdc1>
[ 56.626310] md: bind<sdb1>
[ 56.626319] md: bind<sda1>
[ 56.626332] md: running: <sda1><sdb1><sdc1>
[ 56.626765] md: considering sda2 ...
[ 56.626769] md: adding sda2 ...
[ 56.626773] md: adding sdb2 ...
[ 56.626776] md: adding sdc2 ...
[ 56.627860] md: bind<sdc2>
[ 56.627871] md: bind<sdb2>
[ 56.627882] md: bind<sda2>
[ 56.627894] md: running: <sda2><sdb2><sdc2>
[ 64.474725] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 64.480799] sd 4:0:0:0: Attached scsi generic sg1 type 0
[ 64.486864] sd 5:0:0:0: Attached scsi generic sg2 type 0
[ 64.492924] sd 6:0:0:0: Attached scsi generic sg3 type 0
[ 92.653304] md: bind<sda3>
[ 92.654445] md: bind<sdc3>
[ 92.661567] md: bind<sdb3>
[ 96.611112] sd 8:0:0:0: Attached scsi generic sg4 type 0
[ 96.617911] sd 8:0:0:0: [synoboot] 245760 512-byte logical blocks: (125 MB/120 MiB)
[ 96.628173] sd 8:0:0:0: [synoboot] Write Protect is off
[ 96.634065] sd 8:0:0:0: [synoboot] Mode Sense: 23 00 00 00
[ 96.636314] sd 8:0:0:0: [synoboot] No Caching mode page found
[ 96.642779] sd 8:0:0:0: [synoboot] Assuming drive cache: write through
[ 96.653828] sd 8:0:0:0: [synoboot] No Caching mode page found
[ 96.660296] sd 8:0:0:0: [synoboot] Assuming drive cache: write through
[ 96.680755] sd 8:0:0:0: [synoboot] No Caching mode page found
[ 96.687240] sd 8:0:0:0: [synoboot] Assuming drive cache: write through
[ 96.694603] sd 8:0:0:0: [synoboot] Attached SCSI disk
[ 101.261942] FAT-fs (sdg1): bogus number of reserved sectors
[ 101.268202] FAT-fs (sdg1): Can't find a valid FAT filesystem
[ 4259.287836] sd 6:0:0:0: [sdg] Synchronizing SCSI cache
[ 4259.293948] sd 6:0:0:0: [sdg] Stopping disk
[ 4261.443395] Buffer I/O error on device sdg2, logical block 1517
[ 4261.450052] Buffer I/O error on device sdg2, logical block 1517
[ 4403.522870] sd 6:0:0:0: [sdg] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 4403.522874] sd 6:0:0:0: Attached scsi generic sg3 type 0
[ 4403.537517] sd 6:0:0:0: [sdg] 4096-byte physical blocks
[ 4403.543591] sd 6:0:0:0: [sdg] Write Protect is off
[ 4403.548982] sd 6:0:0:0: [sdg] Mode Sense: 00 3a 00 00
[ 4403.549060] sd 6:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 4403.624026] sdg: sdg1 sdg2
[ 4403.627724] sd 6:0:0:0: [sdg] Attached SCSI disk
[ 4405.304026] FAT-fs (sdg1): bogus number of reserved sectors
[ 4405.310288] FAT-fs (sdg1): Can't find a valid FAT filesystem
[ 4459.640283] sd 6:0:0:0: [sdg] Synchronizing SCSI cache
[ 4459.646184] sd 6:0:0:0: [sdg] Stopping disk
[ 4668.679356] sd 6:0:0:0: [sdg] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
[ 4668.679364] sd 6:0:0:0: Attached scsi generic sg3 type 0
[ 4668.694001] sd 6:0:0:0: [sdg] 4096-byte physical blocks
[ 4668.700068] sd 6:0:0:0: [sdg] Write Protect is off
[ 4668.705453] sd 6:0:0:0: [sdg] Mode Sense: 00 3a 00 00
[ 4668.705518] sd 6:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 4668.780577] sdg: sdg1 sdg2
[ 4668.784245] sd 6:0:0:0: [sdg] Attached SCSI disk
[ 4670.392605] FAT-fs (sdg1): bogus number of reserved sectors
[ 4670.398863] FAT-fs (sdg1): Can't find a valid FAT filesystem
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Ist die eSATA-Platte auch eine WD Green 4TB? Warum sind auf der zwei Partitionen, wie hast Du die eingerichtet? Vielleicht ist eher der umount das Problem und Du solltest Merthos' Rat beherzigen und den Aufruf ändern in $UMOUNT /volumeSATA1/satashare1-2.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Die Platte hatte ich mit Windows (ntfs) eingerichtet.

Mit Merthos Vorschlag hab ich es auch schon versucht:
umount: /volumeSATA1/satashare1-2: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Noch eine Frage:
Wie geh ich denn eigentlich mit Leerzeichen bei den zu sichernden Ordner um, z.B. bei "Eigene Dateien"?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Du setzt den Variablen-Inhalt in Anführungsstriche, nutzt den Backslash, um das Leerzeichen zu escapen (Eigene\ Dateien) oder nutzt den 8.3 DOS Dateinamen, den jede Datei und jedes Verzeichnis unter Windows hat.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Also "\ " ?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Genau.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Ich hab deinen Satz drei mal gelesen... ;D
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Ich habe die esata nun neu formatiert. jetzt ist nur eine Partition drauf und das Laufwerk wird als satashare angezeigt. also wie bei dir. Der umount funktioniert damit.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Klasse, sehr schön! Hast Du die externe Platte an der DS mit ext4 formatiert? Wenn ja, dann ändere doch bitte noch die Optionen im Skript von "$RSYNC -rltfh" in "$RSYNC -avh". Das --delete ist übrigens dafür da, Daten, die an der Quelle gelöscht wurden, auch am Ziel (also auf der externen Platte) zu entfernen. Ich finde das gut, weil ansonsten das Backup m.E. zugemüllt werden würde. Man kann es aber auch weglassen und behält dann die gelöschten Daten im Backup.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Nein ich habe nicht ext4 genommen sondern ntfs.
Wenn ich da schnell dran muss, will ich nicht mit extfs oder einem Linux hantieren. Aber vielleicht mache ich das noch irgendwann. Jetzt läuft aber erst einmal das Backup durch.
Der Vollständigkeit wegen, nachfolgend mein komplettes Script.
#CHMOD="/bin/chmod"
#CHOWN="/bin/chown"
#DATE="/bin/date"
ECHO="/bin/echo"
RSYNC="/usr/bin/rsync"
UMOUNT="/bin/umount"

#SOURCE="/volume1"
#DEST="/volumeSATA/satashare"

if [ -d $DEST/ ]; then
$RSYNC -rltvh --delete /volume1/homes/ /volumeSATA/satashare/rsync/homes
$RSYNC -rltvh --delete /volume1/Software/ /volumeSATA/satashare/rsync/Software
$RSYNC -rltvh --delete /volume1/EigeneDateien/ /volumeSATA/satashare/rsync/EigeneDateien
#$RSYNC -rltvh --delete /volume1/Musik/ /volumeSATA/satashare/rsync/Musik
$RSYNC -rltvh --delete /volume1/web/ /volumeSATA/satashare/rsync/web
$RSYNC -rltvh --delete /volume1/public/ /volumeSATA/satashare/rsync/public
#$RSYNC -rltvh --delete /volume2/Backup/ /volumeSATA/satashare/rsync/Backup
#$RSYNC -rltvh --delete /volume3/SSD/ /volumeSATA/satashare/rsync/SSD

#$CHOWN owner:local
#$CHMOD 644

# eSATA Platte unmounten und auswerfen
#$UMOUNT /volumeSATA/satashare
#$UMOUNT /volumeSATA
##$ECHO 1 > /sys/block/sdg/device/delete
$UMOUNT /dev/sdg1
$ECHO 1 > /sys/block/sdg/device/delete
else
$ECHO "eSATA unavailable"
fi

Ich habe mich gegen Leerzeichen entschieden und aus "Eigene Dateien" "EigeneDateien" gemacht.
Von dem was Dil88 da alles geschrieben hat hab ich nun vielleicht 5% verstanden. Daher habe ich den Rest beinahe willkürlich auskommentiert. :)
Bei mir läuft es aber so im Moment.
Und das Beste:
Die HDD wird nun wieder abgeschaltet, und dann automatisch von meiner Fritzbox bei einem Verbrauch von unter 2,5W abgeschaltet. Einschalten tu ich die Steckdose dann wieder Zeitgesteuert über die Fritzbox. 5 Minuten nach der Steckdose startet dann der Aufgabenplaner der Synology das Script nach Zeitplan.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Sehr schön, da kommt Freude auf. Eine NTFS-formatierte Platte nutze ich für meinem "Skript-Backup" auch, teile Deine Argumente. Funktioniert auch sehr gut.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Ich habe nun noch "if" und "else" auskommentiert.
Wozu dient das denn? Wird nicht eh von oben nach unten der "Zeile" nach abgearbeitet?
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
If in dem Fall = wenn esata verfügbar then/dann führe das Backup aus else/sonst gebe esata nicht verfügbar.

Das solltest du ruhig drin lassen.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.695
Punkte für Reaktionen
2.107
Punkte
829
Würde ich auch drin lassen. Und ich würde die Variablen SOURCE und DEST drinlassen, denn so kann man sein Ziel auf einen Schlag ersetzen, wenn man vielleicht einmal auf eine USB3-Platte sichern möchte. Dafür müsstest Du jetzt an vielen Stellen Anpassungen vornehmen, bei denen Fehler passieren können. Nachfolgend eine angepasste Version:

Rich (BBCode):
#!/bin/sh

ECHO="/bin/echo"
RSYNC="/usr/bin/rsync"
UMOUNT="/bin/umount"

SOURCE1="/volume1"
SOURCE2="/volume2"
SOURCE3="/volume3"
DEST="/volumeSATA/satashare"

if [ -d $DEST/rsync ]; then
  $RSYNC -rltvh --delete $SOURCE1/homes/ $DEST/rsync/homes
  $RSYNC -rltvh --delete $SOURCE1/Software/ $DEST/rsync/Software
  $RSYNC -rltvh --delete $SOURCE1/EigeneDateien/ $DEST/rsync/EigeneDateien
  #$RSYNC -rltvh --delete $SOURCE1/Musik/ $DEST/rsync/Musik
  $RSYNC -rltvh --delete $SOURCE1/web/ $DEST/rsync/web
  $RSYNC -rltvh --delete $SOURCE1/public/ $DEST/rsync/public
  #$RSYNC -rltvh --delete $SOURCE2/Backup/ $DEST/rsync/Backup
  #$RSYNC -rltvh --delete $SOURCE3/SSD/ $DEST/rsync/SSD

  # eSATA Platte unmounten und auswerfen
  $UMOUNT /dev/sdg1
  $ECHO 1 > /sys/block/sdg/device/delete
else
  $ECHO "eSATA unavailable"
fi
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Eigentlich logisch mit dem if/else.
Über Nacht habe ich das Backup durchlaufen lassen. heute morgen gegen 3Uhr war es fertig.
 

Luis942

Benutzer
Mitglied seit
22. Jun 2012
Beiträge
495
Punkte für Reaktionen
41
Punkte
28
Ich möchte den Ordner $SOURCE/Backup/TimeBackup ausschließen. Wie mache ich das?

Wäre das dann so:
$RSYNC -rltvh --delete --exclude="TimeBackup" /volume2/Backup/ /volumeSATA/satashare/rsync/Backup
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat