USB Speicher Backup Automatisieren

hi
so teilt die Name von Datei sonst geht alles super
cp: Aufruf von stat für „/media/sda1/My“ nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für „Backup“ nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für „mc“ nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für „(fleat“ nicht möglich: Datei oder Verzeichnis nicht gefunden
cp: Aufruf von stat für „1)“ nicht möglich: Datei oder Verzeichnis nicht gefunden
Warum ?

Danke !!!
Gruß Linuxmax
 
cp kann mehrere Files in einem Befehlsaufruf kopieren. Die Syntax ist (siehe man cp)

Code:
cp file1 file2 ... dir

Wenn cp also mit mehreren Parametern aufgerufen wird, interpretiert es die ersten als die zu kopierenden Files und den letzten als Zielverzeichnis. Da $quelle Leerzeichen enthält, musst Du sie mit ".." (also "$quelle") als ein Filenamen zusammenfassen.
 
hi
ist das richtig??(

Code:
#!/bin/bash

filesize=25485760 # in Bytes
home="/home/x"

ls -1 /media/sda1/ | while read file; do 
while true; do
quelle="/media/sda1/[COLOR="Red"]My Backup mc (fleat 1)  My Backup mc (fleat 2)  My Backup mc (fleat 3) My Backup mc (fleat 4)[/COLOR]$file"  [COLOR="SeaGreen"]# ist so richtig ? [/COLOR]
if [ $(du -b "$quelle" | cut -f1) -eq  $filesize ];
then
                echo "Backup complete"
                cp -fv $quelle $home &&
                rm -fv $quelle
 else
              echo "Backup not complete"
                           exit 1
 fi
                           sleep 12

done
done
Gruß Linuxmax
PS. Danke für dein geduld!:)
 
Nein, ist nicht richtig. Ehe wir hier noch länger aneinander vorbeireden, poste mal die Ausgabe von

Code:
find /media/sda1
 
hier ist die Ausgabe
max@linux:~> find /media/sda1
/media/sda1
/media/sda1/My Backup mc (fleat 1)
/media/sda1/My Backup mc (fleat 2)
/media/sda1/My Backup mc (fleat 3)
max@linux:~>
 
Code:
ls -1 /media/sda1 | while read file; do
  while true; do
    backupfile="/media/sda1/$file"
    while true; do
      if [ $(du -b "$backupfile" | cut -f1) -eq $filesize ]; then
        echo "$backupfile complete"
        mv -f "$backupfile" /home/x
        break
      else
        echo "$backupfile not complete"
        sleep 10
      fi
    done
  done
done
 

Ähnliche Themen

Backup Skript automatisch ausführen mit udev

Zurück
Oben