Script per espiar el contingut de dispositius USB i copiar-lo a la PC

Jo sempre vaig ser un alumne inquiet, sempre desitjant treure partit d'oportunitats com ... per exemple, copiar els exàmens de l'semestre de l'pendrive de professor o alguna cosa així. Quan estudiava a l'ensenyament mitjà (especialitat informàtica) vaig desitjar programar «alguna cosa» que fes el següent:

  1. Detecti quan es connecta un dispositiu USB a l'ordinador de la classe
  2. Copieu tot el contingut d'aquest dispositiu cap a l'ordinador

Això em permetria tenir l'examen molt de temps abans, només caldria que el professor connectés la seva memòria USB (pendrive) a l'ordinador i llest.

Desafortunadament en el meu institut els ordinadors tenien Windows i ... jo mai i mai vaig aprendre a programar per a aquest OS.

Tanmateix ara ús Linux (obvi no? LOL!), I amb els coneixements que al llarg d'aquests anys he pogut anar adquirint, ara SÍ! ja puc aconseguir això amb Linux 😀

O sigui, he programat un simple script que fa el següent:

1. Crea la carpeta /home/.USBDRIVES/
2. Està comprovant cada 5 segons si hi ha algun dispositiu USB (o CD / DVD) connectat a l'ordinador.
3. En cas que estigui algun connectat, crearà una carpeta dins de /home/.USBDRIVES/ amb el nom de l'USB (per exemple: memòria-2gb) Ia més, copiarà tots els fitxers .doc, .pdf, etc. (aquí el llistat) Cap a aquesta carpeta que recentment acaba de crear.
4. En cas que no hi hagi cap USB connectat, simplement esperarà 5 segons per tornar a iniciar la comprovació que vaig explicar a dalt 😀

Aquí els deixo el script i l'arxiu que conté els formats que es copiaran:

descarregar USB-Spy.zip
L'script ha de ser executat com a root perquè el seu funcionament no es vegi limitat. Aquí explico com aconseguir això

Perquè l'script pugui funcionar sense cap tipus de problemes, el millor és que sigui iniciat amb privilegis administratius (root), així com és obvi que es necessita que s'iniciï al costat de l'ordinador, d'aquesta manera ens assegurem que si l'ordinador és reiniciat o apagat, quan torni a iniciar l'script hi serà funcionant, a punt per extreure de qualsevol USB el que desitgem 😉

Anem a obrir una terminal ... un cop oberta ...

1. Suposem que tenim dos arxius en / Opt / (/opt/usb-spy.sh y /opt/usb-spy.files), Hem de donar-li privilegis d'execució:

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

2. Obrim l'arxiu /etc/rc.local :

sudo nano /etc/rc.local

3. En ell escrivim dalt de la línia final (exit 0) El següent:

/opt/usb-spy.sh &

4. Ara pressionem [Ctrl] + [X] per guardar i sortir de l'arxiu, pressionem [S] o [I] (en dependència de l'idioma de sistema) i després [Enter]. Això serà suficient perquè es guardin els canvis que vam fer.

I ja està, això serà suficient perquè l'script s'iniciï com a root quan encenguem l'ordinador.

És important verificar que l'arxiu usb-spy.files estigui en el mateix directori de usb-spy.sh ;)

Ara ... explicaré una mica el funcionament intern de l'script, ja sé que hi ha molts amants de Bash per aquí 😀

Q: Com l'script sap que hi ha un dispositiu USB connectat?
A: A l'arxiu / etc / mtab del nostre sistema es troben els dispositius o particions que estan muntades en el nostre sistema. Mitjançant la línia 23 de l'script se sap si hi ha un USB connectat o no (fent cat a l'mtab i grep mitjana)
Q: Sí, però Com l'script sap si el cat i grep ens torna alguna dada o no?
A: Mitjançant un cicle if, then, else que comença a la línia 24.
Q: Com fer que copieu només els arxius amb extensions desitjades? (.Doc, .pdf, etc.)
A: Mitjançant rsync amb diversos paràmetres, és a dir en la línia 34. Explicat de manera simple, amb rsync copio només els arxius que coincideixin amb el filtre USB-spy.files, cada línia és un filtre per dir-ho. A més li pas el paràmetre --prune-empty-dirs a rsync perquè no em creu directoris buits.
Per cert alguna cosa important. Si es connecta un dispositiu USB de 8GB (per exemple) tot funciona de manera correcta, però em vaig adonar que si es connecta algun dispositiu de molta més capacitat, com 500GB o 1TB el procés de buscar arxius .doc i etc per copiar-los a l'ordinador demorava molt de temps, de manera que vaig posar un límit de GB. O sigui, en la línia 31 declaro que si el dispositiu USB és menor de 16 GB, llavors busca els arxius i copia'ls, però si és major de 16 GB llavors no facis res. Si desitgen augmentar aquests 16GB per 32 GB, només augmentin aquest número de la línia 31

No hi ha molt a explicar en realitat, l'script és realment simple d'entendre 🙂

Si algú té qualsevol dubte o pregunta, queixa, idea o suggeriment per favor, que ho digui i prometo ajudar-los en tot el que pugui.

I bé, estava pensant posar alguna cosa com: «aquest script només és per a propòsits educatius, no fer servir amb files nocius»... però ... què dimonis !, úsenlo per al que vulguin, és hora que els estudiants tinguem algun tipus d'avantatge contra els professors que ens oprimeixen 😀

Salutacions

Encara se li poden fer múltiples millores a l'script, però bé això és un bon inici crec jo, si algú se sent motivat a contribuir a aquesta «noble» causa serà un plaer 😀

El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa http://secbcaixabank.info/SECB-COVIDXNUMX-DENUNCIA-INSPECCION-PROTOCOLO-.pdf.

92 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   ILAV va dir

    trampós ¬¬

    XDDDD

    1.    KZKG ^ Gaara va dir

      Nah per a res ... si segur tu mateixa vas pensar en algun moment fer alguna cosa així ... JAJAJA.

      1.    Ivan Molina va dir

        Em vas salvar d'un examen sorpresa 😀 ... Ara el teu «KZKG ^ Gaara» Ets el meu déu ... Lloat siguis!

    2.    Facundo va dir

      Holaa, molt bon script, però en mega ja no existeix l'arxiu, m'ho pots passar al meu correu, porfa

  2.   oscar va dir

    Linux és el 1% i dius que mai vas aprendre a programar per a windows així que el tut és per a un sistema linux, la meva pregunta és: ¿que possibilitat hi ha a trobar un profe que faci servir linux per poder dur a terme el tut?

    1.    KZKG ^ Gaara va dir

      Aquest script o truc es «s'implementa» en un ordinador que no necessàriament ha de ser el personal o propi de professor, n'hi ha prou que sigui un ordinador qualsevol d'una Universitat o Col·legi, després només quedaria aconseguir per X o I motiu que el professor connecti seva USB en aquest ordinador.

      Sí, és per a Linux, però moltes universitats tenen Linux com a sistema en laboratoris d'ordinadors, així com també es podria arrencar amb un LiveCD i no necessàriament Linux al PC 🙂

      Sobre el de l'1%, et recomano llegir aquest post: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_Neji va dir

      La possibilitat que un Meteorit gegant caigui sobre l'Atlàntic en aproximadament 30 min

  3.   Josh va dir

    Es veu interessant, caldrà provar-ho.
    Gràcias

    1.    KZKG ^ Gaara va dir

      La utilitat que té no és la gran cosa, però l'script com a tal està interessant ... doncs es poden aprendre diversos tips d'ell, per exemple el com saber els USB connectats, mida de particions, etc 🙂

  4.   cr0t0 va dir

    Un article original i molt ben explicat KZKG ^ Gaara. Salutacions!

    1.    KZKG ^ Gaara va dir

      gràcies

  5.   Oscar va dir

    Que desvergonyiment !!!, i t'atreveixes a escriure-ho al blog OO, no es que pensar, serà que hackeron a Gaara algien que no ho vol bé?

    1.    KZKG ^ Gaara va dir

      ¿Desvergonyiment? Per què?
      Si bé el propòsit o motiu de l'script pot no resultar una cosa tan seriosa com la resta dels meus aportacions, l'script, les seves línies i lògica de programació sí que té molt a aportar penso jo.

      D'aquesta script es poden aprofitar diverses coses:
      1. El com saber la mida d'una partició i que això sigui una variable.
      2. El com comprovar si hi ha un USB connectat i extreure el seu path i nom.
      3. Cicles if-then-else i while.

      En fi, que no crec que això sigui una mica de el tot Useless o alguna cosa així.

      1.    Oscar va dir

        Crec que el teu interpretes malament el meu comentari, jo em refereixo a l'inici de la teva article,
        «Jo sempre vaig ser un alumne inquiet, sempre desitjant treure partit d'oportunitats com ... per exemple, copiar els exàmens de l'semestre de l'pendrive de professor o alguna cosa així.». Si et molest el que expressi, espero em disculpis, no va ser la meva intenció.

        1.    Blaire Pascal va dir

          oO què excel·lent bloc, bons articles, bons lectors, els usuaris es disculpen ... és el paradís jejeje lliure de trolls.

          1.    KZKG ^ Gaara va dir

            Gràcias ^ - ^
            Estem orgullosos del que hem aconseguit fins ara, aquesta comunitat és de debò un orgull ... és genial formar part de tot això 😀

        2.    KZKG ^ Gaara va dir

          No no no per res, en realitat no em vaig molestar ni de bon tros xD
          I SIP jeje va ser el meu error per mal interpretar el teu comentari jejeje, sorry per això 😉

          Res a les disculpes vénen de la meva part ara, hauré de rentar-me la cara a veure si acabo de despertar que ... pel que veig, encara no camino a el 100% JAJAJA.

          Salutacions amic 🙂

        3.    Oscar va dir

          Finíssima persona xD

  6.   Neomito va dir

    M'agradaria q els ordinadors de la meva facultat tinguin Linux muhahahjaja.

  7.   GGGG1234 va dir

    Bon Article!
    Però a qui vulgui imitar-lo en Windows serà més fàcil, perquè a on en la màquina que vulguis usar-lo no tinguis accés a l'root no pots deixar-ho «per sempre». Amb Windows això no passa 😉

  8.   Blaire Pascal va dir

    Molt bo jeje.

  9.   Hyuuga_Neji va dir

    La idea és bona només té la debilitat d'haver d'usar privilegis de Root

    1.    KZKG ^ Gaara va dir

      Bé, en realitat no necessita ser root com a tal ... si se li declara a l'script que la carpeta NO serà /home/.USBDRIVES com li vaig posar jo, i se li posa per exemple: /home/usuario/.USBDRIVES ... llavors executant el script amb «usuari» n'hi haurà prou 😀

  10.   Emilio va dir

    És bona idea, però crec que t'estalviaries modificar el rc.local i executar-cada minut mitjançant crontab, i així t'evites el problema de córrer com a root i la resta, d'altra banda, encara que no afecti gaire, consumeixes memòria de la pc inútilment cada 5 segons per verificar si aquesta la usb, tot i que no hi sigui. Bé aquest és el meu punt de vista

    1.    KZKG ^ Gaara va dir

      O sigui, fer una comprovació cada 1 minut no? No ho vaig fer així perquè ... i si es connecta i desconnecta un USB en menys d'1 minut? 😀

      Vaig preferir fer-ho cada 5 segons per assegurar de veritat «capturar» tots els USB 😉

      Si et vaig entendre malament, si us plau corregeix-me 🙂

      Salutacions i benvingut.

      1.    Emilio va dir

        Si, fer la comprovació cada minut a través d'cron, però bé cadascú té una forma diferent de veure el problema, res més que veient el codi, no seria millor verificar si ja existeix la carpeta d'/home/.USBDRIVES abans de crear-la , és un suggeriment gens mes

        Salutacions

        1.    KZKG ^ Gaara va dir

          Sí també, és un detall de què em vaig adonar però ... em va donar vagància solucionar-LOL!

          Igual podria posar registre on es mostrin els arxius que s'han copiat (log individual per a cada dispositiu), potser fins i tot enviar mitjançant correu electrònic aquest log (usant algun mètode d'enviar e-mail per terminal dels que he posat aquí en el lloc) ... però com et vaig dir, em fa una mica de mandra ^ - ^ U

  11.   Pavloco va dir

    Jajajaja genial.

  12.   hexborg va dir

    Vés per on! O sigui que el teu programari pot ser usat per al mal. ¡Jajajaja !!! 🙂

    Està bé el truc, però ... i si es vol desmuntar l'USB abans que l'script acabi d'copiar el seu contingut? En aquest cas es queixarà que està en ús i es notarà que hi ha alguna cosa estranya. 🙂

    1.    KZKG ^ Gaara va dir

      En realitat el sistema no permetrà que es desmunti l'USB ja que «alguna cosa» ho estarà fent servir 😉

      1.    hexborg va dir

        Exacte! I llavors és quan el professor d'Oscar pensa que ha trobat un virus per linux. ¡Jajajaja !! 🙂

  13.   Oscar va dir

    Em vas fer recordar una vegada que vaig fer alguna cosa similar (en el meu Uni si teniem linux / windows), però jo vaig fer un programa en C que generava milers de carpetes. Li tapicé la USB a un chavo que la va connectar. L'encarregat de centre de còmput estava sorprès! Va creure trobar un virus a linuxx muajajajaja ... ahhh .. que temps aquells =)

    1.    miguel va dir

      i com és la diferència amb un virus?

      1.    Oscar va dir

        Que jo em vaig ficar remotament al seu USB i vaig executar el programa 😛

        1.    miguel va dir

          jajajajaj, llavors va ser un hackeig XD

    2.    KZKG ^ Gaara va dir

      ????
      hehehehehe així que va trobar un virus en Linux no? ... LOL !!

  14.   Semproms va dir

    A mi no m'acaba de funcionar xD, si ho intento executar des de la terminal em diu això: ./usb-spy.sh: line 31: [: -lt: unary operator expected
    Sembla que hi ha algun problema amb aquesta línia: if [$ USBSIZE -lt 15664800]; then
    Però no sé com és, perquè no crea més el directori .USB.

    Si es pot resoldre pot resultar-un script útil.

    1.    hexborg va dir

      Prova a reemplaçar df per / bin / df i assegura't de llançar-ho com a root.

      1.    Semproms va dir

        Val, ara si crea la l'la carpeta .USB dins el directori home, però em segueix dient per la terminal que: «./usb-spy.sh: line 31: [: -lt: unary operator expected» i no copia res, en aquesta línia ha d'haver algun conflicte, agraeixo l'ajuda si algú ho veu.
        Moltes gràcies.

        1.    hexborg va dir

          Pots posar-nos el contingut del teu fitxer / etc / mtab quan l'USB està muntat?

          1.    Semproms va dir

            És clar, aquí va:

            / Dev / sda12 / ext4 rw, errors = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            none / sys / fs / fuse / connections fusectl rw 0 0
            none / sys / kernel / debug debugfs rw 0 0
            none / sys / kernel / security securityfs rw 0 0
            udev / dev devtmpfs rw, mode = 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
            none / run / lock tmpfs rw, noexec, nosuid, nodev, size = 5242880 0 0
            none / 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 $

            Les últimes línies són les de l'USB muntat / dev / sdb1

          2.    hexborg va dir

            A veure si ho aconseguim. 🙂

            Posa'ns la sortida de la comanda df. I prova a afegir la línia:

            echo $ USBSIZE

            Just davant de l'if que dóna el problema i digues el que surt a l'llançar l'script. Ha de quedar alguna cosa com això:

            USBSIZE = `/ bin / df | grep $ USBDEV | awk { 'print $ 2'} `
            echo $ USBSIZE
            if [$ USBSIZE -lt 15664800]; then

            I per si de cas, digues-nos també quina és la sortida de la comanda which df.

            1.    Semproms va dir

              Val, per parts, la comanda df em torna això:

              Filesystem 1K-blocks Used Disponible Utilitzeu% Mounted on
              / Dev / sda12 54082300 45246956 6125892 el 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / run
              none 5120 0 5120 0% / run / lock
              none 2014420 92 2014328 1% / run / shm
              / Dev / sdb1 1023200 322256 700944 32% / mitjana / DOCU 3

              La comanda which df em torna: / bin / df

              Després, he posat el de echo $ USBSIZE, i el resultat és el mateix, no em imprimeix res de nou, sinó l'error d'abans, el curiós és que això passa amb l'USB que estic provant, si poso el disc dur extern de 500 GB si que em torna per pantalla la mida del disc, però els 500 excedeixen als 16 de l'if per tant amb el disc dur no fa res.

              Però amb l'USB no fa res, més que mostrar l'error: ./usb-spy.sh: line 34: [: -lt: unary operator expected
              És com si no pogués mostrar la mida de l'USB, però amb la comanda df si que em surt la seva grandària.

              Gràcies per l'ajuda, a veure si ho podem aconseguir !!.


            2.    Semproms va dir

              Per si de cas el de la comanda no es veiés bé aquí deixo una foto de pantalla: http://i48.tinypic.com/j5dvn5.jpg


          3.    hexborg va dir

            Veig que en el mtab la ruta en què apareix muntat és «/ mitjana / DOCU403» mentre que a df apareix «/ mitjana / DOCU 3». Això fa que grep no ho trobi i no retorni la mida. Prova a canviar les primeres línies de l'for de manera que quedin així:

            for USBD in `cat / etc / mtab | grep mitjana | awk '{print $ 1}' `;
            do
            USBDEV = `cat / etc / mtab | grep $ USBD | awk '{print $ 2}' `
            USBSIZE = `/ bin / df | grep $ USBD | awk { 'print $ 2'} `

            Els canvis consisteixen en canviar el nom de la variable de l'for per USBD, canviar el $ 2 de la fi de la línia de l'for per $ 1, inserir la línia que comença per USBDEV just després de l'do i canviar USBDEV per USBD en la línia que comença per USBSIZE ... espero no haver-me embolicat. 🙂

            La idea és fer el for pel nom de el dispositiu en comptes de pel punt de muntatge.

            1.    KZKG ^ Gaara va dir

              El problema era que en el mtab quan un dispositiu té espais ... posa uns caràcters «estranys» en la línia, específicament en el lloc de l'espai.

              Res, tan simple de solucionar com canviar la forma en què es designa $ USBDEV, en la línia 28 canviar-la i posar-la així:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              ????


          4.    Atheyus va dir

            Deixeu-me veure si els puc ajudar ...

            L'operador unari ho mostra perquè no localitza la mida del disc, això passa perquè no ho txeca, això passa perquè es diu

            DOCU 3

            i el pren com dos valors, si fos DOCU no obria problema

            Potser els funcioni això

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

            Un Salutació 🙂

            1.    Semproms va dir

              Efectivament aquest és el problema, perquè acabo de provar amb altres USB que tenen un nom amb una paraula sense espais, exemple «classes» i l'script funciona sense problemes, per això reconeixia el disc dur i no les memòries, però ara la cosa està a saber com poso jo les cometes en el codi de l'script, ¿es les he de posar a «$ USBNAME» ?.

              Moltes gràcies a Atheyus ja Hexborg per l'ajuda, ja gairebé està aconseguit.


          5.    KZKG ^ Gaara va dir

            en realitat Semproms és super simple d'arreglar 😉
            La línia 28 ... canvia-per aquesta:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Acabo de fer la prova amb aquest canvi i funciona bé amb dispositius el label / nom tingui un espai 😉

            Ara faré el canvi en el script per descarregar.

          6.    hexborg va dir

            Molt bo. Així sí que és senzill d'arreglar. 🙂

  15.   AurosZx va dir

    Ohhh, molt enginyós 😀 Prendré nota per si m'arriba a fer falta ...

  16.   Semproms va dir

    KZKG ^ Gaara, amb aquest acord funciona perfectament, ara si que còpia dels USB amb espai en el nom, moltes gràcies a tots per l'ajuda, vaig a provar a veure si puc fer que s'executi amb l'arrencada de sistema i que així que vagi comprovant a cada cicle si hi ha algun USB connectat.

    A la fin ho hem aconseguit xD.

    1.    KZKG ^ Gaara va dir

      ^ - ^ ... una gust jeje.
      El problema era que jo feia servir mtab per reconèixer els USB podent haver fet servir simplement df ... vaig fer servir mtab perquè vaig pensar que seria interessant explicar-los aquest arxiu, que el conegueren, però no vaig preveure que passaria aquest error amb dispositius amb espais jejeje.

      Qualsevol dubte o problema el deixes dit, a gairebé tots per aquí ens agrada ajudar xD

      Salutacions

    2.    hexborg va dir

      Per descomptat. Som linuxers. Sempre ho vam aconseguir. XD.

  17.   Yeretik va dir

    Instal·lar-li un dimoni a la PC de l'professor que generi un registre de tots els .doc, .docx, .odt, .pdf i te'ls mani per mail. Així com que escanegi la PC de tant en tant a la recerca de canvis, nous fitxers o eliminacions en aquest regsitro, i anet qualsevol novetat t'envie el fitxer modificat o nou per mail també.

  18.   Yeretik va dir

    Igual, crec que més que una enxampada, executar aquest script (I COM ROOT !!!!) és un suïcidi. Li estàs facilitant la vida i les coses en un 700% a qualsevol interessat a inserir un fitxer en el teu PC amb permisos de root i tot. Recordeu-vos que en Linux no existeixen les extensions i que un .doc a linux pot ser el mateix un text, que un vídeo o pitjor encara, un script (aquest cop amb molt males intencions).

    1.    KZKG ^ Gaara va dir

      Executar-com a root no és del tot necessari, només cal definir la carpeta on es posarà el contingut en algun lloc que l'usuari que executa tingui permisos d'escriptura (per exemple, el seu propi home) i llest 🙂

      Sobre el arxius perillosos ... bé, es podria afegir unes línies que li farien un chmod -xa tots els arxius, així perdrien la propietat d'execució.

      1.    Semproms va dir

        He afegit aquestes línies a l'inici perquè esborri la carpeta .USBDRIVES en el cas que ja estigués creada:

        if [-s $ PLACE]
        then rm -r $ PLACE
        fi

        així no donarà l'error de «directori ja existent», això si cal anar amb compte que a la carpeta .USBDRIVES no hi hagi res que no vulguem que s'esborri, perquè la va a esborrar i posar una altra al seu lloc.

  19.   Daniel va dir

    Per afegir nous formats d'arxiu, només cal escriure'ls en usb-spy? per exemple .jpg .mp3 etc.

    1.    KZKG ^ Gaara va dir

      Per afegir tipus de fitxers nou el poses al usb-spy.files
      Mira el contingut de l'arxiu i veuràs com afegir, és bastant simple 😉

  20.   Wuilmer Bolivar va dir

    Si estem en la mateixa xarxa, i hi ha una màquina de professor, l'interessant seria fer un mapatge de xarxa, pot ser que tinguem ssh en les maquines i d'aquesta manera distribuir el codi en les maquines de laboratori o fins i tot en la màquina de l'professor ... . Això em dóna taaantas idees: $

  21.   xiler va dir

    Hola, et felicito pel post i tots els teus aportacions, però tinc una consulta, a veure si algú em pot solucionar aquest problema:

    Vaig estar provant el teu script en una pc amb ubuntu 12.04LTS (amb Unity) i va funcionar perfecte, però com veia que es ejaba d'executar el aquest script després de la primera vegada que esra executat, pel fet que ja estava creada la carpeta .USBDRIVES, decidir usar directament el aquest altre script de la teva autoria que estava postejat en una altra part d'aquest fòrum

    aca copio l'script perquè et ubiques

    #! / Bin / bash
    #
    # - * - ENCODING: UTF-8 - * -
    # Aquest programa és programari lliure. Pot redistribuir-lo i / o
    # Modificar-lo sota els termes de la Llicència pública general
    # De GNU tal publicada per la Free Software Foundation,
    # Bé de la versi'n 2 de la Llicència com (segons la seva
    # Elecció) de qualsevol versió posterior.
    #
    # Si vostè fa alguna modificació en aquesta aplicació,
    # Haurà sempre esmentar a l'autor original de la mateixa.
    #
    # Copyleft 2012, DesdeLinux.net {Ciutat Havana, Cuba}.
    # Autor: KZKG ^ Gaara

    WHILE = 0

    while [$ CONTROL = 0]; do
    cat / etc / mtab | grep mitjana >> / dev / null
    if [$? -ne 0]; then
    COMPTADOR = 0
    else
    COMPTADOR = 1
    : $ {USBDEV: = `cat / etc / mtab | grep mitjana | awk '{print $ 2}' `» / »}
    cp $ USBDEV / * / home /
    fi
    dorm 5
    fet

    exit 0

    El tema és el següent en ubuntu12.04 lts unity aquest ultimo scritp corre bé i funciona però a l'fer-li un downgrade a la mateixa pc per «x» motiu, i tractar de fer-ho en Ubuntu 10.10 no, ho puc fer funcionar
    per una banda em tira error i no em llegeix els pendrives que tenen nom compost per ex: DATA-G, ni tampoc em copia els arxius que tenen nom compost. A part d'aquest problema tinc el problema que només s'executa l'script a l'reiniciar-la pc una sola veus.

    La pregunta seria: com puc fer que aquest script em copieu pendrives i arxius amb nom compost
    i si usant crontab o puc programar perquè funcioni en un determinat moment

    Un altre detall, en ubuntu 10.10, com fa servir Gnome voldria afegir algunes acotacions per tinguin en compte, a el donar-li privilegis d'ejecucion a un script, aquest ha d'estar ubicat a /etc/init.d no en / etc /
    (Tenir en compte que cal enganxar-lo allà arribant des terminal amb sudo nautilus)

    d'altra banda una altra acotacion seria que després d'enganxar-lo ahi per saber si es pot executar cal fer en un altre terminal

    sudo seva (per ser root)
    contrasenya

    ls

    cd / etc / init.d

    ls -l

    i ahi ens salta si està en execució o no

    després en el mateix terminal o en un altre terminal en un altre moment estant com a root i estant en etc / init.d (o sigui fins al pas cd / etc / init.d) com en el anteriors terminal seguim de la següent manera per donar-li permisos d' execució

    suo chmod + x script.sh

    update -rc.d script.sh defaults 80

    reiniciar

    repeteixo això és i que ho faci en ubuntu 10.10 si és una altra versió com la 12.04 cal fer el que diu KZKG ^ Gaara

    I una ultima pregunta com m'interessa que es copiï el contingut (fins de3 subcarpetes de l'pendrive) a l'home oa una carpeta a l'home oculta o no, suposem que fos .USBDRIVES
    en el codi no hauria de dir

    cp -r /media/*/*/*/home/.USBDRIVES/*

    En definitiva per aconseguir el que vull com hauria de quedar-me l'script?
    perquè ja intenti modificar la línia que li van modificar a l'usb-spy sh però a aquest altre que grava directament en home i em tira erro en la línia modificada.? Salutacions. gràcies

  22.   Kakashi va dir

    jo no puc baixar el segon script

  23.   metalus va dir

    Molt bo. 😉

  24.   Kamaleon va dir

    I si no faig els passos que poses que passa? No s'executa o simplement s'executa però sense root? ¿Si els ordinadors tenen un sistema que diguem restaura tota la configuració interna de l'ordinador a l'apagar-funcionarà? Gràcies.

    1.    KZKG ^ Gaara va dir

      En el cas que el sistema tingui 'una mica' que torni a posar per default la carpeta / home / llavors has de modificar l'script, on diu / home / canviar-lo per / opt / o alguna altra carpeta que no es vegi afectada.

  25.   tiges va dir

    Crec que per millorar l'script i evitar que es noti la intromissió en el pendrive el òptim consitiría en què es prioritzi tipus, mida del l'arxiu. Per exemple deixar per al final arxius voluminosos de 100 megues o més. O primer copiar arxius doc, docx, txt, pdf, xml, ... etc etc etc i deixar per al final arxius avi, mp4, mkv ...

  26.   lucas va dir

    Hola, aquesta bona la idea. volia fer dues preguntes:
    - Es pot fer al revés? fer un scrip per al penderiver, que aquest es connecti a qualsevol màquina i extregui arxius.
    - serveix per SO Windows?

    1.    KZKG ^ Gaara va dir

      Hola,

      No estic segur de com es podria fer que a l'connectar el pendrive, el mateix pendrive acte-executi un script que tingui dins.

      I no, aquest script no serveix per a Windows 🙂

      1.    LUCAS va dir

        Ok, gràcies per responderme.voy a investigar com fer-ho

  27.   Jose Damian Bazaga Ruiz va dir

    Que bon script. He estat analitzant, i em sembla una passada, tant de bo algun dia jo també pogués fer scripts tan pràctics així.

  28.   jose va dir

    Excel·lent aportació, encara que la utilitat que li donaré no és exactament per al que ho vas plantejar, si el faig servir per respatllers d'arxius d'un grup d'usuaris mala conducta que tinc ... jejejeje ....

  29.   enbudle va dir

    quan jo ho intento córrer em dóna aquest error línia 31: [: massa arguments
    elimini aquesta línia per veure si funcionava. i resulta que és la línia que restringeix la mida dels dispositius.
    a l'llevar còpia el que tinc a les meves particions muntades 🙁

  30.   Valente va dir

    Holaa sóc nou i es que és vell el pots però em va agradar molt és molt educatiu teu script

    Gràcies per comartirlo i explicar-detalladament ...

    salutació

  31.   doltrox va dir

    amic em as salvat només bast distreure el profe i introduir el usb al meu portàtil i després jajajaaj examen passat i notes de tots jejejje

    1.    Oetam222 va dir

      Em podróas passar l'script l'enllaç està caigut

    2.    Oetam222 va dir

      Em pots passar l'script l'enllaç està caigut

  32.   Gusanito2D2 va dir

    kzkggaara, ¿podries resubir els arxius? els links estan caiguts: /, moltes gràcies

  33.   bastian va dir

    pueder serubir links porfa ??

  34.   Necr0 va dir

    sent! tio! tens els ensalces caiguts podries pujar-los de nou!
    val! : v

  35.   Necr0 va dir

    bo, faig això de nou perquè no sé si es va pujar el que volia dir ....

    bé es tracta que tens els enllaços caiguts pots pujar-los!

  36.   Rlorau va dir

    Els enllaços estan caiguts !!!

  37.   Developer24 va dir

    Resube els links si us plau @usemoslinux estic investigant sobre el tema, gràcies!

  38.   anònim va dir

    L'script es pot baixar d'aqui. Crec que és elmismo

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

  39.   Joan va dir

    Bé doncs ....

    Opino des del meu humil punt de vista que és un gran article i doncs si hi ha persones que diuen que ets trampós doncs jo opino que és segons el propòsit per al que facis servir el programa.
    A mi personalment em va agradar més per conèixer el llenguatge de programació per a linux ja que només he treballat en java, gràcies company m'has despetado l'interès per conèixer mes de l'llenguatge per linux.

    T'agraeixo.

  40.   Hecorat va dir

    Hola amics ja que jo vaig trobar una altra fomra d'usar aquest scrip és és fent backup, els platico una mica jo tinc dos dispositius una càmera i un hdd el que jo vull és que en veus que gravi els arxius els arxius locals els guardi un XNUMX hdd extern des de la càmera fins al hddpero em dóna un error que diu «too many arguments» em podrian ajudar

  41.   LUIS GERARDO POLANCO VERA va dir

    Només funciona amb dispositius amb sistemes operatius linux?

  42.   provant va dir

    Que algú ho resuba, si us plau!

  43.   Gazlene va dir

    Hola, no tinc linux i a la meva escola fan servir Windows, utilitzeu l'app a d'usb capturi i copio només 5 arxius de la memòria de l'profe, sospito q té protecció aquesta usb, per que en dues ocasions va passar el mateix, hi haurà alguna altra manera de sostreure la informació completa d'aquesta usb?

  44.   Zaraki va dir

    I tant que bé dius serà senzill el codi, ja que sembla molt interessant el veure funcionar els mètodes per veure si es connecta un USB o la mida de la partició. Llàstima que han remogut l'script de mega.nz, podries pujar-lo de nou ?.

    Salutacions i gran treball, simple però funcional fins i tot per automatitzar còpies des d'USB !!!

  45.   descansos va dir

    Bones!
    Acabo d'entrar al teu article de l'bloc, i realment estic interessat. El que passa és que a el donar-li a l'arxiu .zip que et redirigeix ​​a mega posa que l'arxiu ja no està disponible.
    Em preguntava si em podries enviar aquests arxius que se suposa que cal descarregar.
    Moltes gràcies i salutacions!

  46.   Alfredo Pereira va dir

    La tecnologia té el costum de reduir la seva grandària a mesura que passen els anys. I això ha passat en un grau increïble amb les unitats d'estat sòlid (SSD). Ara pot obtenir-los en la mateixa mida que les unitats flash USB més ràpides.

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