Script per spiare il contenuto dei dispositivi USB e copiarlo sul PC

Sono sempre stato uno studente irrequieto, desideroso di sfruttare opportunità come ... per esempio, copiare gli esami del semestre dalla chiavetta USB dell'insegnante o qualcosa del genere. Quando ero al liceo (specializzazione in informatica) volevo programmare "qualcosa" che avrebbe fatto quanto segue:

  1. Rileva quando un dispositivo USB è collegato al computer della classe
  2. Copia tutto il contenuto da quel dispositivo sul tuo computer

Questo mi permetterebbe di sostenere l'esame molto prima, sarebbe solo necessario che l'insegnante collegasse la sua memoria USB (pendrive) al computer e basta.

Purtroppo nel mio istituto i computer avevano Windows e ... non ho mai e mai imparato a programmare per questo sistema operativo.

Comunque ora uso Linux (ovviamente no? LOL!), E con la consapevolezza che in questi anni ho potuto acquisire, ora SI! Posso già ottenere questo risultato con Linux 😀

Cioè, ho programmato un semplice script che fa quanto segue:

1. Crea la cartella /home/.USBDRIVES/
2. Controlla ogni 5 secondi se è presente un dispositivo USB (o CD / DVD) collegato al computer.
3. Nel caso in cui uno sia connesso, creerà una cartella all'interno di /home/.USBDRIVES/ con il nome dell'USB (ad esempio: memory-2gb) e inoltre copierà tutti i file .doc, .pdf, ecc. (qui l'elenco) in questa cartella appena creata.
4. Nel caso in cui non ci sia USB collegato, attenderà semplicemente 5 secondi per avviare il controllo che ho spiegato di nuovo sopra 😀

Ecco lo script e il file che contiene i formati da copiare:

Scarica USB-Spy.zip
Lo script deve essere eseguito come root in modo che il suo funzionamento non sia limitato. Qui spiego come ottenere questo risultato

Affinché lo script possa funzionare senza problemi, è meglio che venga avviato con privilegi di amministratore (root), in quanto è ovvio che deve essere avviato insieme al computer, in questo modo ci assicuriamo che se il computer è riavviato o spento, quando riavvio lo script sarà lì funzionante, pronto per estrarre da qualsiasi USB quello che vogliamo 😉

Apriamo un terminale ... una volta aperto ...

1. Supponiamo di avere entrambi i file in formato / optare / (/opt/usb-spy.sh y /opt/usb-spy.files), dobbiamo assegnargli i privilegi di esecuzione:

sudo chmod +x /opt/usb-spy.sh

2. Apriamo il file /etc/rc.local :

sudo nano /etc/rc.local

3. In esso scriviamo sopra l'ultima riga (esci da 0) il prossimo:

/opt/usb-spy.sh &

4. Ora premiamo [Ctrl] + [X] per salvare e uscire dal file, premiamo [S] o [Y] (a seconda della lingua del sistema) e poi [Invio]. Sarà sufficiente per salvare le modifiche che abbiamo apportato.

E voilà, questo sarà sufficiente per avviare lo script come root quando accendiamo il computer.

È importante verificare che il file usb-spy.files si trova nella stessa directory di usb-spy.sh 😉

Ora ... spiegherò un po 'il funzionamento interno della sceneggiatura, poiché so che ci sono molti amanti di Bash qui intorno

Q: Come fa lo script a sapere che un dispositivo USB è collegato?
R: Nel file / etc / mtab del nostro sistema ci sono i dispositivi o le partizioni che sono montati sul nostro sistema. Attraverso la riga 23 dello script si sa se è presente o meno una USB collegata (fare cat in mtab e grep media)
D: Sì, ma Come fa lo script a sapere se il gatto e il grep ci restituiscono dei dati o no?
A: Attraverso a if, then, else loop che inizia alla riga 24.
Q: Come fare in modo che copi solo file con estensioni desiderate? (.doc, .pdf, ecc.)
A: Usando rsync con vari parametri, questo è sulla riga 34. Spiegato semplicemente, con rsync copio solo i file che corrispondono al filtro usb-spy.files, ogni riga è un filtro per così dire. Passo anche il parametro --prune-empty-dirs a rsync in modo che non crei directory vuote per me.
A proposito qualcosa importante. Se è collegato un dispositivo USB da 8 GB (ad esempio), tutto funziona correttamente, ma ho notato che se è collegato un dispositivo con molta più capacità, come 500 GB o 1 TB, il processo di ricerca dei file .doc e così via per copiarli sul computer richiede tempo molto tempo, quindi ho messo un limite di GB. Cioè, nella riga 31 dichiaro che se il dispositivo USB è inferiore a 16 GB, cerca i file e copiali, ma se è maggiore di 16 GB non fare nulla. Se desideri aumentare i 16 GB di 32 GB, aumenta il numero dalla riga 31

Non c'è molto da spiegare in realtà, lo script è davvero semplice da capire :)

Se qualcuno ha dubbi o domande, reclami, idee o suggerimenti, per favore diglielo e prometto di aiutarli il più possibile.

Ebbene, stavo pensando di mettere qualcosa del tipo: «questo script è solo a scopo didattico, non utilizzare con file dannosi»... Ma ... che diavolo! Usalo per quello che vuoi, è ora che gli studenti abbiano una sorta di vantaggio contro gli insegnanti che ci opprimono 😀

saluti

Puoi ancora apportare più miglioramenti alla sceneggiatura, ma beh, questo è un buon inizio, penso, se qualcuno si sente motivato a contribuire a questo "nobile" perché sarà un piacere 😀

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   vivace suddetto

    Cheater ¬¬

    XDDDD

    1.    KZKG ^ Gaara suddetto

      No, per niente ... se ad un certo punto hai pensato di fare qualcosa del genere ... HAHAHA.

      1.    Ivan Molin suddetto

        Mi hai salvato da un quiz pop 😀 ... Ora il tuo «KZKG ^ Gaara» Sei il mio dio ... Lode!

    2.    Facundo suddetto

      Ciao, ottimo script, ma in mega il file non esiste più, puoi inviarlo alla mia email, per favore

  2.   oscar suddetto

    Linux è 1% e tu dici che non hai mai imparato a programmare per windows quindi il tutoraggio è per un sistema linux, la mia domanda è: qual è la possibilità di trovare un insegnante che usa linux per poter svolgere il tutoraggio?

    1.    KZKG ^ Gaara suddetto

      Questo script o trucco è "implementato" su un computer che non deve essere necessariamente personale o del professore, è sufficiente che sia un qualsiasi computer di un'università o college, quindi sarebbe possibile ottenere solo X o Y motivo per cui il professore si connette la tua USB su quel computer.

      Sì, è per Linux, ma molte università hanno Linux come sistema nei laboratori informatici, nonché l'avvio con un LiveCD e non necessariamente l'installazione di Linux sul PC 🙂

      Circa l'1%, ti consiglio di leggere questo post: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuga_Neji suddetto

      La possibilità che un meteorite gigante cada sull'Atlantico in circa 30 min

  3.   Josh suddetto

    Sembra interessante, dovrà essere provato.
    grazie

    1.    KZKG ^ Gaara suddetto

      L'utilità che ha non è una gran cosa, ma lo script in quanto tale è interessante ... perché puoi imparare diversi suggerimenti da esso, ad esempio come conoscere le USB collegate, le dimensioni delle partizioni, ecc. 🙂

  4.   cr0t0 suddetto

    Un articolo originale e molto ben spiegato KZKG ^ Gaara. Saluti!

    1.    KZKG ^ Gaara suddetto

      Grazie

  5.   Oscar suddetto

    Che audacia !!!, e ti azzardi a scriverlo sul blog OO, non so cosa pensare, potrebbe essere che qualcuno a cui non piace ha hackerato bene Gaara?

    1.    KZKG ^ Gaara suddetto

      impudenza? perché?
      Sebbene lo scopo o il motivo della sceneggiatura possa non essere così seria come il resto dei miei contributi, la sceneggiatura, le sue linee e la logica di programmazione hanno molto da contribuire, credo.

      Puoi trarre vantaggio da diverse cose da questo script:
      1. Come sapere la dimensione di una partizione e che questa è una variabile.
      2. Come verificare se è collegata una USB ed estrarne il percorso e il nome.
      3. if-then-else e while loops.

      Comunque, non penso che sia del tutto inutile o qualcosa del genere.

      1.    Oscar suddetto

        Penso che tu interpreti male il mio commento, intendo all'inizio del tuo articolo,
        "Sono sempre stato uno studente irrequieto, desideroso di approfittare di opportunità come ... per esempio, copiare gli esami del semestre dalla chiavetta del docente o qualcosa del genere." Se quello che dico ti dà fastidio, spero che mi scuserai, non era mia intenzione.

        1.    Blaire pascal suddetto

          oO che blog eccellente, buoni articoli, buoni lettori, utenti che si scusano ... è un paradiso lol senza troll.

          1.    KZKG ^ Gaara suddetto

            grazie ^ - ^
            Siamo orgogliosi di ciò che abbiamo raggiunto finora, questa community è davvero orgogliosa ... è fantastico far parte di tutto questo 😀

        2.    KZKG ^ Gaara suddetto

          No no per niente, non mi sono preoccupato affatto xD
          E sì hehe è stato un mio errore per aver interpretato male il tuo commento hehehe, mi dispiace per quello 😉

          Niente che le scuse vengano da me ora, dovrò lavarmi la faccia per vedere se finisco di svegliarmi che ... da quello che vedo, non sono ancora al 100% HAHAHA.

          Saluti amico 🙂

        3.    Oscar suddetto

          Persona molto bella xD

  6.   neomito suddetto

    Vorrei che i computer del mio college avessero Linux muhahahjaja.

  7.   GGGG1234 suddetto

    Buon articolo!
    Ma chi vorrà imitarlo in Windows sarà più facile, perché dove non hai accesso root sulla macchina che vuoi usarlo, non puoi lasciarlo "per sempre". Con Windows ciò non accade 😉

  8.   Blaire pascal suddetto

    Molto bene hehe.

  9.   Hyuga_Neji suddetto

    L'idea è buona, ha solo il punto debole di dover utilizzare i privilegi di root

    1.    KZKG ^ Gaara suddetto

      Bene, in realtà non è necessario essere root in quanto tale ... se dichiari allo script che la cartella NON sarà /home/.USBDRIVES come l'ho messa io, e dice ad esempio: / home / usuario /. USBDRIVES ... allora sarà sufficiente eseguire lo script con "user" 😀

  10.   Emilio suddetto

    È una buona idea, ma penso che ti risparmieresti di modificare rc.local e di eseguirlo ogni minuto usando crontab, e quindi eviti il ​​problema di eseguirlo come root e il resto, d'altra parte, anche se non lo fa incide molto, si consuma inutilmente la memoria del pc ogni 5 secondi per controllare se l'usb è, anche quando non lo è. Bene, questo è il mio punto di vista

    1.    KZKG ^ Gaara suddetto

      Voglio dire, fai un controllo ogni minuto, giusto? Non l'ho fatto così perché ... cosa succede se una USB viene collegata e scollegata in meno di 1 minuto? 😀

      Ho preferito farlo ogni 5 secondi per assicurarmi di "catturare" davvero tutte le USB 😉

      Se ti ho frainteso, correggimi 🙂

      Saluti e benvenuti.

      1.    Emilio suddetto

        Si, fai il controllo ogni minuto tramite cron, ma beh ognuno ha un modo diverso di vedere il problema, niente di più che guardare il codice, non sarebbe meglio controllare se la cartella /home/.USBDRIVES esiste già prima di crearla , è solo un suggerimento

        saluti

        1.    KZKG ^ Gaara suddetto

          Si anche, è un dettaglio che ho notato ma ... ero pigro a risolverlo LOL!

          Allo stesso modo potrei mettere un log dove vengono mostrati i file che sono stati copiati (log individuale per ogni dispositivo), magari anche inviare questo log via email (usando qualche metodo di invio email da terminale di quelli che ho messo qui sul sito ) ... ma come ti ho detto, mi rende un po 'pigro ^ - ^ U

  11.   pavloco suddetto

    Hahahaha fantastico.

  12.   hexborg suddetto

    AHA! Quindi il tuo software può essere usato per il male. LOL !!! 🙂

    Il trucco va bene, ma ... cosa succede se si desidera smontare l'USB prima che lo script finisca di copiarne il contenuto? In quel caso si lamenterà che è in uso e si noterà che c'è qualcosa che non va. 🙂

    1.    KZKG ^ Gaara suddetto

      In realtà, il sistema non consentirà di smontare l'USB perché "qualcosa" lo utilizzerà 😉

      1.    hexborg suddetto

        Esatto! Ed è allora che il professore di Oscar pensa di aver trovato un virus per Linux. LOL !! 🙂

  13.   Oscar suddetto

    Una volta mi hai fatto ricordare che ho fatto qualcosa di simile (sul mio Uni se avevamo linux / windows), ma ho realizzato un programma in C che generava migliaia di cartelle. Ho imbottito l'USB a un ragazzo che l'ha collegato. Il manager del centro computer è rimasto sbalordito! Pensava di aver trovato un virus in linuxx muajajajaja ... ahhh .. che tempi erano quelli =)

    1.    Miguel suddetto

      e qual è la differenza con un virus?

      1.    Oscar suddetto

        Che sono entrato in remoto nella sua USB e ho eseguito il programma 😛

        1.    Miguel suddetto

          hahahaha, quindi è stato un hack XD

    2.    KZKG ^ Gaara suddetto

      😀
      hehehehehe quindi hai trovato un virus in Linux, giusto? ... LOL !!

  14.   Semprom suddetto

    Semplicemente non funziona per me xD, se provo a eseguirlo dal terminale mi dice questo: ./usb-spy.sh: riga 31: [: -lt: operatore unario atteso
    Sembra che ci sia qualcosa di sbagliato in questa riga: if [$ USBSIZE -lt 15664800]; poi
    Ma non so cosa sia, perché non crea anche la directory .USB.

    Se può essere risolto, posso trovare uno script utile.

    1.    hexborg suddetto

      Prova a sostituire df con / bin / df e assicurati di avviarlo come root.

      1.    Semprom suddetto

        Ok, ora se crea la cartella .USB all'interno della directory home, ma continua a dirmi tramite il terminale che: "./usb-spy.sh: riga 31: [: -lt: operatore unario previsto" e non ' Non copiare nulla, in quella riga deve esserci un conflitto, apprezzo l'aiuto se qualcuno lo vede.
        Grazie mille.

        1.    hexborg suddetto

          Puoi darci il contenuto del tuo file / etc / mtab quando l'USB è montato?

          1.    Semprom suddetto

            Certo, eccolo:

            / dev / sda12 / ext4 rw, errori = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            nessuno / sys / fs / fuse / connessioni fusectl rw 0 0
            nessuno / sys / kernel / debug debugfs rw 0 0
            nessuno / sys / kernel / security securityfs rw 0 0
            udev / dev devtmpfs rw, modalità = 0755 0 0
            devpts / dev / pts devpts rw, noexec, nosuid, gid = 5, mode = 0620 0 0
            tmpfs / run tmpfs rw, noexec, nosuid, size = 10%, mode = 0755 0 0
            nessuno / run / lock tmpfs rw, noexec, nosuid, nodev, size = 5242880 0 0
            nessuno / run / shm tmpfs rw, nosuid, nodev 0 0
            binfmt_misc / proc / sys / fs / binfmt_misc binfmt_misc rw, noexec, nosuid, nodev 0 0
            / dev / sdb1 / media / DOCU403 vfat rw, nosuid, nodev, uid = 1000, gid = 1000, shortname = m $

            Le ultime righe sono quelle dell'USB / dev / sdb1 montato

          2.    hexborg suddetto

            Vediamo se ce l'abbiamo. 🙂

            Dacci l'output del comando df. E prova ad aggiungere la riga:

            echo $ USBSIZE

            Proprio di fronte al se questo dà il problema e dicci cosa viene fuori quando avvii lo script. Dovrebbe sembrare come questo:

            DIMENSIONE USB = `/ bin / df | grep $ USBDEV | awk {'print $ 2'} `
            echo $ USBSIZE
            se [$ USBSIZE -lt 15664800]; poi

            E per ogni evenienza, dicci anche qual è l'output del comando which df.

            1.    Semprom suddetto

              Ok, in alcune parti, il comando df mi restituisce questo:

              File system 1K-blocchi utilizzati Disponibile Usa% montato su
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / run
              nessuno 5120 0 5120 0% / run / lock
              nessuno 2014420 92 2014328 1% / run / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              Il comando che df mi restituisce: / bin / df

              Quindi, ho messo l'eco $ USBSIZE, e il risultato è lo stesso, non stampa nulla di nuovo, ma l'errore di prima, la cosa divertente è che questo accade con l'USB che sto testando, se metto i 500GB hard disk esterno Sì, restituisce la dimensione del disco sullo schermo, ma il 500 supera le 16 del se così con l'hard disk non fa nulla.

              Ma con USB non fa altro che mostrare l'errore: ./usb-spy.sh: riga 34: [: -lt: operatore unario atteso
              È come se non potesse mostrare la dimensione dell'USB, ma con il comando df ottengo la sua dimensione.

              Grazie per l'aiuto, vediamo se riusciamo a ottenerlo!


            2.    Semprom suddetto

              Nel caso in cui il comando non fosse buono qui lascio uno screenshot: http://i48.tinypic.com/j5dvn5.jpg


          3.    hexborg suddetto

            Vedo che in mtab il percorso dove appare montato è "/ media / DOCU403" mentre in df appare "/ media / DOCU 3". Questo fa sì che grep non lo trovi e non restituisce la dimensione. Prova a cambiare le prime righe di per in modo che abbiano questo aspetto:

            per USBD in `cat / etc / mtab | grep media | awk '{print $ 1}' '';
            do
            USBDEV = `cat / etc / mtab | grep $ USBD | awk '{print $ 2}' ''
            DIMENSIONE USB = `/ bin / df | grep $ USBD | awk {'print $ 2'} `

            Le modifiche consistono nel cambiare il nome della variabile for in USBD, cambiare $ 2 alla fine della riga for in $ 1, inserire la riga che inizia con USBDEV subito dopo il do e cambiare USBDEV in USBD nella riga che inizia con USBSIZE ... spero di non aver scherzato. 🙂

            L'idea è di fare il per dal nome del dispositivo invece che dal punto di montaggio.

            1.    KZKG ^ Gaara suddetto

              Il problema era che nell'mtab quando un dispositivo ha spazi ... mette alcuni caratteri "strani" sulla riga, in particolare al posto dello spazio.

              Niente, così semplice da risolvere come cambiare il modo in cui è designato $ USBDEV, alla riga 28 cambiarlo e metterlo in questo modo:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              😀


          4.    Ateo suddetto

            Fammi vedere se posso aiutarti ...

            L'operatore unario lo mostra perché non individua la dimensione del disco, questo accade perché non lo controlla, questo accade perché viene chiamato

            Documento 3

            e lo prende come due valori, se fosse DOCU non aprirebbe un problema

            Forse questo funzionerà per te

            http://www.itimetux.com/2012/11/manejar-archivos-o-carpetas-con-espacios-en-unix.html

            Saluti 🙂

            1.    Semprom suddetto

              In effetti questo è il problema, perché ho appena provato con altre USB che hanno un nome con una parola senza spazi, esempio "classi" e lo script funziona senza problemi, ecco perché ha riconosciuto l'hard disk e non i ricordi, ma ora il fatto è Sapendo come inserisco le virgolette nel codice dello script, devo metterle in "$ USBNAME"?

              Mille grazie ad Atheyus e Hexborg per l'aiuto, è quasi finito.


          5.    KZKG ^ Gaara suddetto

            effettivamente Semprom è semplicissimo da risolvere 😉
            Riga 28 ... cambialo in questo:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Ho appena fatto il test con questa modifica e funziona bene con i dispositivi la cui etichetta / nome ha uno spazio :)

            Ora apporterò la modifica allo script da scaricare.

          6.    hexborg suddetto

            Molto buona. Quindi è facile da riparare. 🙂

  15.   auroszx suddetto

    Ohhh, molto ingegnoso 😀 Prenderò nota nel caso avessi bisogno di ...

  16.   Semprom suddetto

    KZKG ^ Gaara, con quella disposizione funziona perfettamente, ora se copio l'USB con spazio nel nome, grazie mille a tutti per l'aiuto, proverò a vedere se riesco a farlo funzionare con l'avvio del sistema e in quel modo Controlla ogni ciclo se c'è qualche USB collegato.

    Alla fine ci siamo riusciti xD.

    1.    KZKG ^ Gaara suddetto

      ^ - ^ ... un piacere hehe.
      Il problema era che ho usato mtab per riconoscere l'USB, avrei potuto semplicemente usare df ... ho usato mtab perché pensavo sarebbe stato interessante spiegare loro questo file, che lo conoscono, ma non avevo previsto che questo errore accadrebbe con dispositivi con spazi lol.

      Qualsiasi domanda o problema lasci detto, quasi tutti qui amano aiutare xD

      saluti

    2.    hexborg suddetto

      Ovviamente. Siamo utenti Linux. Lo capiamo sempre. XD.

  17.   Yeretico suddetto

    Installa un demone sul PC dell'insegnante che genererà un record di tutti i file .doc, .docx, .odt, .pdf e te li invierà per posta. Oltre a scansionare il PC di tanto in tanto alla ricerca di modifiche, nuovi file o cancellazioni in detto registro, e qualsiasi notizia ti invierà anche il file modificato o nuovo per posta.

  18.   Yeretico suddetto

    Allo stesso modo, penso che più che un saccheggio, l'esecuzione di quella sceneggiatura (E COME RADICE !!!!) sia un suicidio. Stai semplificando la vita e le cose del 700% a chiunque sia interessato a inserire un file sul tuo PC con permessi di root e tutto il resto. Ricorda che le estensioni non esistono in Linux e che un .doc in Linux può essere lo stesso di un testo, un video o, peggio ancora, uno script (questa volta con pessime intenzioni).

    1.    KZKG ^ Gaara suddetto

      Eseguirlo come root non è del tutto necessario, basta definire la cartella in cui il contenuto verrà messo da qualche parte in cui l'utente in esecuzione ha i permessi di scrittura (ad esempio, la propria casa) e il gioco è fatto 🙂

      Riguardo ai file pericolosi ... beh, potresti aggiungere alcune righe che farebbero chmod -x a tutti i file, perdendo così la proprietà di esecuzione.

      1.    Semprom suddetto

        Ho aggiunto queste righe all'inizio per eliminare la cartella .USBDRIVES se era già stata creata:

        se [-s $ PLACE]
        quindi rm -r $ PLACE
        fi

        In questo modo non darà l'errore di «directory già esistente», cioè se devi stare attento che non ci sia nulla nella cartella .USBDRIVES che non vogliamo essere cancellato, perché lo cancellerà e ne metterà un altro il suo posto.

  19.   Daniel suddetto

    Per aggiungere nuovi formati di file, basta scriverli su usb-spia? ad esempio .jpg .mp3 ecc.

    1.    KZKG ^ Gaara suddetto

      Per aggiungere nuovi tipi di file lo metti in usb-spy.files
      Guarda il contenuto del file e vedrai come aggiungerli, è abbastanza semplice 😉

  20.   Wuilmer bolivar suddetto

    Se siamo sulla stessa rete e c'è la macchina dell'insegnante, la cosa interessante sarebbe fare una mappatura della rete, potremmo avere ssh sulle macchine e in questo modo distribuire il codice sulle macchine del laboratorio o anche sulla macchina dell'insegnante .... Questo mi dà tantissime idee: $

  21.   xilere suddetto

    Ciao, mi congratulo con te per il post e tutti i tuoi contributi, ma ho una domanda, per vedere se qualcuno può risolvere questo problema per me:

    Stavo testando il tuo script su un pc con ubuntu 12.04LTS (con Unity) e ha funzionato perfettamente, ma poiché ho visto che questo script ha smesso di essere eseguito dopo la prima volta che è stato eseguito, perché la cartella .USBDRIVES era già stata creata, ho deciso di farlo usa direttamente questo altro script della tua paternità che è stato pubblicato in un'altra parte di questo forum

    qui copio il copione per te per localizzarti

    #! / Bin / bash
    #
    # - * - CODIFICA: UTF-8 - * -
    # Questo programma è un software gratuito. Puoi ridistribuirlo e / o
    # modificarlo secondo i termini della General Public License
    # di GNU come pubblicato dalla Free Software Foundation,
    # o la versione 2 di detta licenza o (a seconda del tuo
    # scelta) di qualsiasi versione successiva.
    #
    # Se apporti modifiche a questa applicazione,
    # dovrebbe sempre menzionare l'autore originale dello stesso.
    #
    #Copyleft 2012, DesdeLinux.net {L'Avana, Cuba}.
    # Autore: KZKG ^ Gaara

    WHILE = 0

    mentre [$ CONTROL = 0]; fare
    cat / etc / mtab | grep media >> / dev / null
    se [$? -ne 0]; poi
    CONTATORE = 0
    altro
    CONTATORE = 1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` »/»}
    cp $ USBDEV / * / home /
    fi
    dormi 5
    fatto

    esci da 0

    L'argomento è il seguente in ubuntu12.04 la sua unità che l'ultimo script funziona bene e funziona ma quando eseguo il downgrade dello stesso pc per motivi "x" e provo a farlo funzionare in ubuntu 10.10 no, posso farlo funzionare
    Da un lato, genera un errore e non legge le pen drive che hanno un nome composto, ad esempio: DATA-G, né copia i file che hanno un nome composto. A parte questo problema ho il problema che lo script viene eseguito solo quando il pc viene riavviato una volta.

    La domanda sarebbe: come posso fare in modo che lo script copi me pen drive e file con nomi composti
    e se uso crontab o posso programmarlo per funzionare in un determinato momento

    Un altro dettaglio, in Ubuntu 10.10, poiché utilizza Gnome, vorrei aggiungere alcuni vincoli da tenere in considerazione, quando si danno i privilegi di esecuzione a uno script, deve essere posizionato in /etc/init.d non in / etc /
    (Tieni presente che devi incollarlo lì arrivando dal terminale con sudo nautilus)

    D'altra parte, un'altra affermazione sarebbe che dopo averlo incollato lì per vedere se può essere eseguito, deve essere fatto in un altro terminale

    sudo su (essere root)
    parola d'ordine

    ls

    cd / etc / init.d

    ls -l

    e lì saltiamo se è in esecuzione o no

    quindi nello stesso terminale o in un altro terminale in un altro momento essendo come root ed essendo in etc / init.d (cioè fino al passaggio cd / etc / init.d) come nel terminale precedente continuiamo come segue per dargli i permessi esecuzione

    sudo chmod + x script.sh

    update -rc.d script.sh il valore predefinito è 80

    reboot

    Ripeto che è così che si esegue automaticamente in Ubuntu 10.10 se è un'altra versione come 12.04 devi fare quello che dice KZKG ^ Gaara

    E un'ultima domanda, come voglio copiare il contenuto (fino a 3 sottocartelle della pendrive) nella home o in una cartella home nascosta o meno, supponiamo che fosse .USBDRIVES
    nel codice non avrei dovuto dire

    cp -r /media/*/*/*/home/.UNITÀ USB/*

    In breve, per ottenere quello che voglio, come dovrebbe rimanere la sceneggiatura?
    Perché ho già provato a modificare la riga che hanno modificato in usb-spy sh ma a quell'altra che registra direttamente su home e genera un errore sulla riga modificata.? Saluti . Grazie

  22.   Kakashi suddetto

    Non riesco a scaricare il secondo script

  23.   metallo suddetto

    Molto buona. 😉

  24.   Camaleonte suddetto

    E se non faccio i passaggi che hai inserito, cosa succede? Non funziona o funziona solo ma senza root? Se i computer hanno un sistema che, diciamo, ripristina tutta la configurazione interna del computer quando viene spento, funzionerà? Grazie.

    1.    KZKG ^ Gaara suddetto

      Nel caso in cui il sistema abbia "qualcosa" che ha come impostazione predefinita la cartella / home /, è necessario modificare lo script, dove dice / home / cambiarlo in / opt / o un'altra cartella che non è interessata.

  25.   Gambi suddetto

    Penso che per migliorare lo script ed evitare l'intrusione nella pendrive, la cosa ottimale sarebbe dare la priorità al tipo, alla dimensione del file. Ad esempio, lasciare per ultimi file di grandi dimensioni di 100 megabyte o più. O prima copia i file doc, docx, txt, pdf, xml, ... ecc ecc ecc e lascia i file avi, mp4, mkv per ultimo ...

  26.   lucas suddetto

    Ciao, l'idea è buona. Volevo fare due domande:
    - Si può fare al contrario? crea uno script per il penderiver, che si connette a qualsiasi macchina ed estrae i file.
    - funziona per il sistema operativo Windows?

    1.    KZKG ^ Gaara suddetto

      Ciao,

      Non sono sicuro di come sia possibile che quando si collega la pendrive, la stessa pendrive esegua da sé uno script che ha al suo interno.

      E no, questo script non funziona per Windows 🙂

      1.    LUCAS suddetto

        Ok, grazie per avermi risposto, indagherò su come farlo

  27.   José Damian Bazaga Ruiz suddetto

    Che bel copione. L'ho analizzato e mi sembra incredibile, spero che un giorno potrei anche realizzare script così pratici.

  28.   Jose suddetto

    Ottimo contributo, anche se l'utilità che gli darò non è esattamente quello per cui l'hai creata, se lo uso per i backup di file di un gruppo di utenti, comportamento scorretto che ho… hehehehe….

  29.   avvolgere suddetto

    quando provo a eseguirlo mi dà questa riga di errore 31: [: troppi argomenti
    rimuovere quella linea per vedere se ha funzionato. e si scopre che è la linea che limita le dimensioni dei dispositivi.
    quando lo rimuovi copia quello che ho nelle mie partizioni montate 🙁

  30.   Valente suddetto

    Ciao, sono nuovo e so che il vaso è vecchio ma mi è piaciuto molto, la tua sceneggiatura è molto istruttiva

    Grazie per averlo condiviso e spiegato in dettaglio ...

    Onda

  31.   doltrox suddetto

    Amico, mi hai salvato, è stato sufficiente distrarre l'insegnante e introdurre l'USB nel mio laptop e poi hahahaaj ha superato l'esame e gli appunti di tutti hahaha

    1.    oetam222 suddetto

      Potresti passarmi il copione, il collegamento non funziona

    2.    oetam222 suddetto

      Puoi passarmi il copione, il collegamento non funziona

  32.   Worm2D2 suddetto

    kzkggaara, potresti ricaricare i file? i collegamenti sono interrotti: /, grazie mille

  33.   bastian suddetto

    Puoi caricare i link per favore?

  34.   necr0 suddetto

    sente! zio! sei caduto lodi, potresti rialzarle!
    OK! : v

  35.   necr0 suddetto

    beh, lo faccio di nuovo perché non so se quello che volevo dire è stato caricato….

    beh è che hai i link in basso puoi caricarli!

  36.   Rloru suddetto

    I collegamenti sono interrotti !!!

  37.   Developer24 suddetto

    Invia di nuovo i link per favore @usemoslinux Sto indagando sull'argomento, grazie!

  38.   anonimo suddetto

    Lo script può essere scaricato da qui. Penso che sia lo stesso

    https://mega.nz/#!yQR1BQTb!FoYoopZ11WSstQaqX1flxhm1t4jCKOI9jj8VIxIBrxk

  39.   Giovanni suddetto

    Bene allora….

    Penso che dal mio modesto punto di vista sia un ottimo articolo e beh, se ci sono persone che dicono che sei un imbroglione, allora penso che sia in base allo scopo per cui usi il programma.
    Personalmente mi è piaciuto di più conoscere il linguaggio di programmazione per Linux dato che ho lavorato solo in Java, grazie amico hai suscitato il mio interesse a saperne di più sul linguaggio per Linux.

    Ti ringrazio.

  40.   Hecorat suddetto

    Ciao amici, perché ho trovato un altro modo per utilizzare questo script è fare il backup, vi parlerò un po 'Ho due dispositivi, una fotocamera e un hdd, quello che voglio è che invece di registrare i file, i file locali salvano loro in un hdd esterno dalla fotocamera all'hdd ma mi dà un errore che dice "troppi argomenti" potresti aiutarmi

  41.   LUIS GERARDO POLANCO VERA suddetto

    Funziona solo con dispositivi con sistemi operativi Linux?

  42.   probando suddetto

    Qualcuno lo sollevi, per favore!

  43.   gazzella suddetto

    Ciao, non ho linux e nella mia scuola usano Windows, ho usato l'app di acquisizione usb e copio solo 5 file dalla memoria dell'insegnante, sospetto che usb abbia protezione, perché la stessa cosa è successa due volte, ce ne saranno alcuni altro modo per sottrarre l'informazione completa da quella usb?

  44.   zaraki suddetto

    Vai se dici che il codice sarà semplice, perché sembra molto interessante vedere i metodi funzionare per vedere se è collegata una USB o la dimensione della partizione. Peccato che abbiano rimosso lo script mega.nz, potresti caricarlo di nuovo?

    Saluti e ottimo lavoro, semplice ma funzionale anche per automatizzare le copie da USB !!!

  45.   Pause suddetto

    Buenas!
    Ho appena inserito il tuo post sul blog e sono davvero interessato. Quello che succede è che quando fai clic sul file .zip che ti reindirizza a mega, significa che il file non è più disponibile.
    Mi chiedevo se potessi inviarmi quei file che dovrebbero essere scaricati.
    Grazie mille e saluti!

  46.   Alfredo Perera suddetto

    La tecnologia ha l'abitudine di rimpicciolirsi con il passare degli anni. E questo è successo in modo incredibile con le unità a stato solido (SSD). Ora puoi ottenerli nelle stesse dimensioni delle unità flash USB più veloci.

    https://clongeek.com/las-unidades-usb-3-0-mas-rapidas/

  47.   a suddetto

    Potete inviarmi il file o caricarlo di nuovo? Viene fuori che non può essere scaricato