Rsync τρέχει από terminal αλλά όχι μέσα σε script αρχείο sh

Εντάξει λινουξάδες μου, πείτε γιατί παθαίνω το εξής:

Αν δώσω από terminal την εξής εντολή

sudo rsync -avh --info=progress2 --delete /media/george/WD\ Caviar\ Black/ /media/george/int_backup/backups/WD\ Caviar\ Black/

Παίζει κανονικά. Γίνεται ο συγχρονισμός με πηγή τον δίσκο με label “WD Caviar Black” και destination τον ομώνυμο φάκελο σε έναν άλλο δίσκο (int_backup)

Επειδή δεν θυμάμαι κάθε φορά τα options που χρησιμοποιώ και τα paths, λέω ας το φτιάξω σε script.
Και ιδού το script που το έφτιαξα με τον xed (editor του mint)

#!/bin/bash

read -p "This script will rsync WD BLACK 640GB to int_backup. Please make sure [WD BLACK 640GB] is mounted. Press enter to continue..."

# Στην rsync -a --> archive (συμπεριλαμβάνει το recursive) // -v verbose 
# -h human read // --info=progress2 ενημέρωση για την εξέλιξη
# --delete σβήνει τα αρχεία στο destination που δεν υπάρχουν στο source

sudo rsync -avh --info=progress2 --delete /media/george/WD\ Caviar\ Black/
 /media/george/int_backup/backups/WD\ Caviar\ Black/

Και το αποτέλεσμα είναι ότι ΔΕΝ δουλεύει με το εξής μήνυμα:

sent 3.22M bytes  received 14.92M bytes  1.58M bytes/sec
total size is 394.55G  speedup is 21,751.82
./rsync_WD_Black_640GB.sh: line 10: /media/george/int_backup/backups/WD Caviar Black/: Is a directory

ΟΚ επειδή είμαι έτοιμος να το σπάσω, έχουμε κάμια ιδέα τι μπορεί να φταίει;

1 Like

Μάλιστα… Μετά από μια ώρα ψάξιμο για ό,τι μπορείτε να φανταστείτε (character encoding μήπως δεν έπαιρνε τα "\ " για το κενό, δοκιμές με άλλους editors και χίλια δυο άλλο σχετικά και άσχετα και αφού ποστάρω το ερώτημα εδώ βρήκα τη λύση της μαμακίας μου σε δυο λεπτά.

Λέω δεν κάνω copy paste από το terminal μέσα στο sh αρχείο, δεν μπορεί μήπως μπερδεύεται με τα "/ "
Κάνοντας το copy/paste παρατηρώ ότι οι χαρακτήρες στο τέλος μετακινήθηκαν μια θέση πίσω. ctrz+z για επιβεβαίωση, ξανά copy paste, ξανά τα ίδια. Ελέγχω ένα προς ένα τους χαρακτήρες και ήταν ακριβώς ίδιοι wtf??? Ε λοιπόν άμα κάτι σου πάει στραβά θα σου πάει… Υπήρχαν 2 κενά (spaces) ανάμεσα στο source και στο destination δηλαδή εκεί που τελειώνει το “…Black/” του source και εκεί που αρχίζει το “/media” του destination και δεν μπορούσα να το δω με γυμνό μάτι γιατί το παράθυρο του editor είχε τέτοιο μέγεθος που σε αυτό το σημείο άλλαζε η γραμμή!!! Ε ποτέ!!! 1 ώρα τουλάχιστον χαμένη για ένα space που δεν φαινόταν με τίποτα γιατί το παράθυρο του editor είχε αυτήν ακριβώς τη διάσταση που χρειαζόταν για να αλλάξει η γραμμή! Δεν περιγράφω άλλο…

Εσείς θα το σκεφτόσασταν;

5 Likes

Εννοείται !! :partying_face: :rofl: :yum:

1 Like