Προς το περιεχόμενο

System tar & restore Project


tritonas00

Προτεινόμενες αναρτήσεις

To ιδιο με τον μαρτινοφ μου βγαζει και μενα warlock9_0 (με τα αντιστοιχα δηλ δικα μου partitions)

 

@freewalker η fdisk δεν βοηθαει ιδιαιτερα νομιζω , γιατι ολα τα ext2,ext3,ext4 τα λεει Linux.Aν ψαχνω π.χ. το /boot που το χω φορμαρει σε ext2..χαιρετα μας τον πλατανο :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

η πρώτη με το for νομίζω οτι μας κάνει

σωστά δε σας τα δείχνει ή κατάλαβα λάθος?

 

@firewalker πρέπει να βρούμε κάτι που να παίζει παντού χωρίς να χρειάζεται έξτρα πρόγραμμα, το parted δε νομίζω οτι υπάρχει παντού

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι η 1η εντολη σου , πρεπει να μας κανει λογικα..βγαζει τις πληροφοριες που θελουμε....

 

αν και δεν ξερω σαν μοναδα μετρησης το γιγα αν μας κανει.Γιατι για παραδειγμα μικρα partitions τα δειχνει μηδενικα.

Π.χ. το δικο μου /boot partition το δειχνει 0GB .Η χωρητικοτητα ειναι 100ΜΒ.Στην κλιμακα ομως του γιγα ναι ειναι μηδεν :)

Απλα αποπροσανατολιζει τον χρηστη...γιατι αν εχει 2-3 μικρα partitions και τα δειχνει ολα μηδενικα...δεν θα βγαζει ακρη.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

το ένα είναι αυτό

>for f in /dev/[hs]d[a-z][0-9]; do echo "$f `blkid -s TYPE -o value $f` $(((`blockdev --getsize64 $f`)/1073741824))GB"; done

η πρώτη με το for νομίζω οτι μας κάνει

σωστά δε σας τα δείχνει ή κατάλαβα λάθος?

Ναι η 1η εντολη σου , πρεπει να μας κανει λογικα..βγαζει τις πληροφοριες που θελουμε....

 

αν και δεν ξερω σαν μοναδα μετρησης το γιγα αν μας κανει.Γιατι για παραδειγμα μικρα partitions τα δειχνει μηδενικα.

Π.χ. το δικο μου /boot partition το δειχνει 0GB .Η χωρητικοτητα ειναι 100ΜΒ.Στην κλιμακα ομως του γιγα ναι ειναι μηδεν :)

Απλα αποπροσανατολιζει τον χρηστη...γιατι αν εχει 2-3 μικρα partitions και τα δειχνει ολα μηδενικα...δεν θα βγαζει ακρη.

 

>
BRTYPE="$(blkid -s TYPE -o value $BRDEV)"
BRSIZE="$(lsblk -d -n -o size $BRDEV)"

 

Για να μην διαιρείς και χαλάει η κλίμακα μια και δεν ξέρεις τι χωρητικότητα θα έχει. Έτσι θα έχεις κατευθείαν human readable έξοδο.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

είσαι μεγάλος

τέλος

 

να τι παίρνουμε

>
$ sudo ./s
Select the number of your root partition or enter Q to quit
1) /dev/sda1 ext4 298.1G
2) /dev/sdb1 ext4 931.5G
3) /dev/sdc1 ntfs 149.1G
4) /dev/sdd1 ntfs   100M
5) /dev/sdd2 ntfs  59.6G
6) /dev/sdd3 ext4  59.5G
Choice: 6
You selected /dev/sdd3 ext4  59.5G

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

τρίτωνα δεν κάνεις τα "please make a selection" σε dialogs?

προτείνω να βάζουμε echo πιο πολύ εκεί που πρέπει να δείχνει το progress παρά στο να λέει τι να κάνεις

νομίζω θα είναι πιο καλό

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ηδη υπαρχoυν σε dialogs (You must select ...)

 

απλα τα ειχα βαλει για να δειχνει και στο terminal, οποτε αν θες βγαλτα, δεν υπαρχει κανενα θεμα.

 

Επισης εχω να προτεινω τα εξης για το backup script:

 

Να γινει μονο text, χωρις zenity, μιας και το μονο input που χρειαζεται ειναι ενα directory.

 

Να φυγουν οι τελειες και να εμφανιζει κανονικα το output του στην κονσολα, εκτος απο τα errors που θα πηγαινουν στο αρχειο.

 

Δυστυχως λιγο που το εψαξα, δεν γινεται να εχουμε κανονικο progress χωρις εξωτερικο προγραμμα ( bar πχ), και δεν θελουμε να εχουμε κι αλλες εξαρτησεις.

 

Τι λετε ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

>
br_progress1() {
 BRPROG="\|/-"
 BRIN=0
 while read line; do
   printf ${BRPROG:((BRIN % 4)):1}
   printf '\r'
   let BRIN++
 done
}

br_progress2{
 BRNUMF=$1
 BRIN=0
 BRBAR="=================================================="
 printf "                                                    ]\r"
 while read line; do
   (( BREQ = BRIN * 50 / BRNUMF + 1))
   printf "[%s>" ${BRBAR:0:$BREQ}
   if [[ BRIN -lt BRNUMF ]]; then
     let BRIN++
   fi
   printf "\r"
 done
}

 

>
tar tvf τάδε.tar | br_progress1
tar tvf τάδε.tar | br_progress2 301

 

Χάριν ευκολίας λείπουν διάφοροι έλεγχοι ειδικά στην 2η αλλά δουλεύουν. Η 2η παίρνει ως όρισμα τον συνολικό αριθμό των αρχείων και τον χρησιμοποιεί για να ανάγει το αποτέλεσμα σε μέγιστο 50. Η λειτουργία της είναι ίδια με αυτήν στο link του mphxths αλλά αντί να εμφανίζει σκέτα ==== εμφανίζει [===> ] που είναι πιο όμορφο. Η 1η εμφανίζει την κλασική "κλεψύδρα" εναλλάσσοντας τους χαρακτήρες \ | / -.

 

Edit: Γκρρρ. Το printf με τα spaces το ξέσκισε το code tag.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

για να βρούμε πόσα αρχεία θα βάλουμε στο tar

 

αυτό δε θα έπρεπε να παίζει?

>sum=0
for k in `ls -R -I /run/* -I /lost+found -I /dev/* -I /proc/* -I /sys/* -I /boot/grub/* -I /media/* -I /tmp/* -I /mnt/* -I .gvfs  -I $FOLDER /`
do
  sum=$((sum+1))
done
echo "Total files is $sum"

 

μου βγάζει 393.171 ενώ στο log έχει αντιγράψει 187.463 αρχεία

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

για να βρούμε πόσα αρχεία θα βάλουμε στο tar

 

αυτό δε θα έπρεπε να παίζει?

>sum=0
for k in `ls -R -I /run/* -I /lost+found -I /dev/* -I /proc/* -I /sys/* -I /boot/grub/* -I /media/* -I /tmp/* -I /mnt/* -I .gvfs  -I $FOLDER /`
do
  sum=$((sum+1))
done
echo "Total files is $sum"

 

μου βγάζει 393.171 ενώ στο log έχει αντιγράψει 187.463 αρχεία

 

Με find είναι μια πιθανότητα. Από ό,τι βλέπω, το ls-R εμφανίζει σε κάθε κατάλογο "σύνολο τάδε", τους καταλόγους ".", ".." οπότε όντως θα βγάλει πολύ περισσότερα από όσο πρέπει (4 περισσότερα για κάθε κατάλογο που υπάρχει)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...