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

System tar & restore Project


tritonas00

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

  • Απαντ. 1,6k
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Τρίτωνα, για δοκίμασε μου μία αυτό. Πρέπει να βρίσκει τα ονόματα και τα μεγέθη από κανονικούς σκληρούς, από RAID και από lvm.

 

import os
import re
import shlex
import subprocess
from pprint import pprint

def get_disks():
    get_size = lambda disk: subprocess.check_output(shlex.split("lsblk -d -n -o size %s" % disk))

    pattern = re.compile( r"^/dev/[sh]d[a-z]\d+$|^/dev/md\d+$|^/dev/mapper/\w+-\w+$")

    potential_disks = ["/dev/" + path for path in os.listdir("/dev/")] +\
                      ["/dev/mapper/" + path for path in os.listdir("/dev/mapper/")]

    disks = [disk for disk in potential_disks if pattern.match(disk)]

    return {disk: get_size(disk) for disk in disks}

pprint(get_disks())

Βασικά τρίτωνα, το df -h γιατί δεν μας κάνει;

 

This manual page documents the GNU version of df. df displays the amount of disk space available on the file system con taining each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.

 

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). This version of df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures.

δώσε μία και το output από ένα σκέτο lsblk

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

βγαζει:

 

2013_10_28_061043_1280x1024_scrot.jpg

 

Μπορεις να τα κανεις και sort? Να γινει ευαναγνωστη η λιστα.

 

Χρησιμοποιουμε lsblk γιατι μονος σου εδωσες την απαντηση:

 

This version of df cannot show the space available on unmounted file systems.

 

Δεν θελουμε μονο τα mounted partitions, θελουμε ολα τα διαθεσιμα. Το script τα κανει mount αναλογα, εκει που πρεπει, οπως πρεπει, με την σειρα που πρεπει.

 

Με κυρος και σεβασμο στον χρηστη. :lol:

 

Σκετη lsblk βγαζει:

 

2013_10_28_061231_1280x1024_scrot.jpg

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

Εχουμε νεο τροπο επιλογης partitions στο dialog interface.
 
Πλεον εχουμε ολες τις επιλογες μαζεμενες σε εναν dialog και επιλεγουμε οτι θελουμε. Ετσι αποφευγεται το μαρτυριο να περναμε απο ολες τις ερωτησεις. Επισης μας δειχνει και το filesystem, με χρηση της blkid. O dialog ενημερωνεται real time και μας δειχνει τι επιλεξαμε, διπλα σε καθε option.
 
2013_10_29_042647_1024x768_scrot.png
 
2013_10_29_042701_1024x768_scrot.png
 
--------------------------------------------------
 
pmav, οντως ειναι πολυ βολικο τελικα.
 
Να σου πω, μπορεις να βαλεις και την info screen? Στο backup ειναι:
 

This script will make a tar backup image of this system.

==>Make sure you have enough free space.

==>Also make sure you have GRUB or SYSLINUX packages installed.

GRUB PACKAGES:
->Arch: grub-bios
->Debian: grub-pc
->Fedora: grub2

SYSLINUX PACKAGES:
->Arch: syslinux
->Debian: syslinux extlinux
->Fedora: syslinux syslinux-extlinux
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

βασικά θέλει και κάποιου τύπου validation. Να τσεκαρει δηλαδή αν τα directories υπάρχουν κτλ

 

Oποιοδηποτε error της tar παει στο log και εμφανιζει σχετικο message το script.

 

Επισης το --exclude ειναι και για αρχεια, οχι μονο dirs.

 

Oποτε μπορεις να το κανεις ξερω γω Excluded directories/files

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

Oποιοδηποτε error της tar παει στο log και εμφανιζει σχετικο message το script.

Ναι αλλά γιατί να περιμένεις να εκτελεστεί το script? Να ανοιξεις το xterm δηλαδή, να δώσεις sudo κτλ. Το νόημα του validation είναι να το κάνεις πριν τρέξεις το πρόγραμμα ώστε κατευθείαν να σου πει ότι έχεις λάθος.

 

Σκέψου τις forms στις ιστοσελίδες. Σου λένε ότι το password θέλει πχ τουλάχιστον 8 γράμματα. Τον έλεγχο τον κάνουν locally στον client (δηλαδή στο browser). Δεν κανουν POST στον server και περιμένουν από αυτόν να τους πει ότι είναι λάθος.

 

Γενικός κανόνας είναι «Try to fail early» ;)

 

Αν θες ποσταρε μου το τμήμα που κάνεις validation στο bash να δω τι κάνεις.

 

Επίσης βρήκα τρόπο να βάλω και tooltips οπότε να μπορούμε να γράψουμε πιο αναλυτικά μηνύματα βοήθειας (όχι ότι χρειάζονται τρελά αλλά οκ).

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

Μωρε σωστα τα λες, αλλα αν πεις οτι κανεις validation απο πριν, στο restore ειδικα, αιμα.

 

To μεγαλυτερο μερος του check στο restore το κανει η check_input

 

Στο backup ok ειναι λιγοι οι ελεγχοι. Eλεχγει:

 

1. Destination path

2. Αν ειναι εγκατεστημενη η bsdtar αν αυτη επιλεχθει.

3. Αν η tar/bsdtar εκτελέστηκε σωστα η οχι ωστε να βγαλει σχετικο μηνυμα στο τελος.

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

Αρχισα την ενωση.

 

git clone https://github.com/tritonas00/system-tar-and-restore -b unified
Στην αρχη ρωταει να επιλεξουμε Mode.

 

Επισης αναλογα με τα arguments που δινουμε, μπαινει και στο αντιστοιχο Mode αυτοματα.

Αν δωσουμε arguments απο διαφορα modes ταυτοχρονα, θα βγαλει αναλογο error.

 

2013_10_29_222401_1024x768_scrot.jpg

 

Λιγες δοκιμες που εκανα, επαιξαν σωστα. Οποιος μπορει ας δοκιμασει λιγο τα arguments.

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

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

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

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

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

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

Σύνδεση

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

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