Skript för att spionera på innehållet på USB-enheter och kopiera det till datorn

Jag var alltid en rastlös student och ville alltid utnyttja möjligheter som ... till exempel att kopiera terminproven från lärarens USB-minne eller något liknande. När jag gick på gymnasiet (datorprogram) ville jag programmera "något" som skulle göra följande:

  1. Upptäck när en USB-enhet är ansluten till klassdatoren
  2. Kopiera allt innehåll från den enheten till din dator

Detta skulle göra det möjligt för mig att ha tentan länge innan, det skulle bara vara nödvändigt för läraren att ansluta sitt USB-minne (pendrive) till datorn och det är det.

Tyvärr i mitt institut hade datorerna Windows och ... Jag lärde mig aldrig och aldrig programmera för detta operativsystem.

Men nu använder jag Linux (uppenbarligen inte? LOL!), Och med den kunskap som jag under dessa år har kunnat förvärva, nu JA! Jag kan redan uppnå detta med Linux 😀

Det vill säga, jag har programmerat ett enkelt skript som gör följande:

1. Skapa mappen /home/.USBDRIVES/
2. Det kontrolleras var 5: e sekund om det finns någon USB-enhet (eller CD / DVD) ansluten till datorn.
3. Om en är ansluten kommer den att skapa en mapp inuti /home/.USBDRIVES/ med namnet på USB (till exempel: minne-2 GB) och också kommer den att kopiera alla filer .doc, .pdf, etc (här listan) till den här mappen du just skapade.
4. Om det inte finns någon USB-anslutning väntar den helt enkelt 5 sekunder för att starta kontrollen som jag förklarade ovan igen 😀

Här är skriptet och filen som innehåller de format som ska kopieras:

Ladda ner USB-Spy.zip
Skriptet måste köras som root så att dess funktion inte är begränsad. Här förklarar jag hur man uppnår detta

För att skriptet ska fungera utan problem är det bäst att det startas med administrativa behörigheter (root), eftersom det är uppenbart att det måste startas tillsammans med datorn, på detta sätt ser vi till att om datorn är startas om eller av, när jag startar skriptet igen kommer det att fungera, redo att extrahera vad vi vill från vilken USB som helst 😉

Låt oss öppna en terminal ... en gång öppen ...

1. Anta att vi har båda filerna i /välja/ (/opt/usb-spy.sh y /opt/usb-spy.files), måste vi ge det körrättigheter:

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

2. Vi öppnar filen /etc/rc.local :

sudo nano /etc/rc.local

3. I den skriver vi ovanför den sista raden (avsluta 0) nästa:

/opt/usb-spy.sh &

4. Nu trycker vi på [Ctrl] + [X] för att spara och avsluta filen, vi trycker på [S] eller [Y] (beroende på systemspråk) och sedan på [Enter]. Detta räcker för att de ändringar vi gjort ska sparas.

Och voila, detta kommer att räcka för att manuset ska börja som root när vi slår på datorn.

Det är viktigt att verifiera att filen usb-spy.filer finns i samma katalog som usb-spy.sh 😉

Nu ... jag ska förklara lite om manusens inre funktion, eftersom jag vet att det finns många Bash-älskare här

Q: Hur vet manuset att en USB-enhet är ansluten?
A: I / etc / mtab-filen i vårt system finns de enheter eller partitioner som är monterade på vårt system. Genom rad 23 i skriptet är det känt om det finns en USB-anslutning eller inte (gör katt till mtab och grep media)
F: Ja, men Hur vet manuset om katten och grep returnerar några data till oss eller inte?
A: Genom en om, annars, loop som börjar vid rad 24.
Q: Hur får jag det att bara kopiera filer med önskade tillägg? (.doc, .pdf, etc)
S: Med rsync med olika parametrar är detta på rad 34. Enkelt förklarat, med rsync kopierar jag bara de filer som matchar usb-spy.files-filtret, varje rad är ett filter så att säga. Jag skickar också parametern --prune-empty-dirs att rsync så att det inte skapar tomma kataloger för mig.
Förresten något viktigt. Om en 8 GB USB-enhet (till exempel) är ansluten fungerar allt korrekt, men jag märkte att om en enhet med mycket mer kapacitet är ansluten, till exempel 500 GB eller 1 TB, är processen att leta efter .doc-filer och etc. för att kopiera dem till datorn tog lång tid, så jag satte en GB-gräns. Det vill säga i linje 31 förklarar jag att om USB-enheten är mindre än 16 GB, leta reda på filerna och kopiera dem, men om den är större än 16 GB så gör ingenting. Om du vill öka den 16 GB med 32 GB, bara öka det numret från rad 31

Det finns inte mycket att förklara faktiskt, manuset är väldigt enkelt att förstå :)

Om någon har några tvivel eller frågor, klagomål, idé eller förslag, vänligen säg det och jag lovar att hjälpa dem så mycket jag kan.

Tja, jag tänkte sätta något som: «detta skript är endast avsett för utbildningsändamål, ska inte användas med skadliga filer»... Men ... vad i helvete! Använd det för vad du vill, det är dags att eleverna har någon form av fördel mot lärarna som förtrycker oss 😀

hälsningar

Du kan fortfarande göra flera förbättringar av manuset, men hej det här är en bra start tror jag, om någon känner sig motiverad att bidra till den här "ädla" orsaken blir det ett nöje 😀

Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

93 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   elav sade

    Fuskare ¬¬

    XDDDD

    1.    KZKG ^ Gaara sade

      Nej alls ... om du säkert tänkte någon gång göra något sådant ... HAHAHA.

      1.    Ivan Molina sade

        Du räddade mig från ett popquiz 😀 ... Nu din «KZKG ^ Gaara» Du är min gud ... Beröm dig!

    2.    Facundo sade

      Hej, mycket bra skript, men i mega finns filen inte längre, du kan skicka den till min e-post, tack

  2.   oscar sade

    Linux är 1% och du säger att du aldrig har lärt dig att programmera för windows så handledning är för ett Linux-system, min fråga är: vad är möjligheten att hitta en lärare som använder Linux för att kunna utföra handledningen?

    1.    KZKG ^ Gaara sade

      Det här skriptet eller tricket "implementeras" på en dator som inte nödvändigtvis behöver vara den personliga eller professorens egen, det räcker att det är vilken dator som helst från ett universitet eller högskola, då skulle det bara vara möjligt att uppnå X eller Y anledning till att professorn ansluter din USB till den datorn.

      Ja, det är för Linux, men många universitet har Linux som ett system i datalaboratorier, samt att starta med en LiveCD och inte nödvändigtvis installera Linux på datorn 🙂

      Om 1% rekommenderar jag att du läser det här inlägget: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_Neji sade

      Möjligheten att en gigantisk meteorit faller på Atlanten på cirka 30 minuter

  3.   Josh sade

    Det ser intressant ut, det måste prövas.
    tack

    1.    KZKG ^ Gaara sade

      Verktyget det har är inte en bra sak, men skriptet som sådant är intressant ... eftersom du kan lära dig flera tips från det, till exempel hur man känner till den anslutna USB, partitionernas storlek, etc 🙂

  4.   cr0t0 sade

    En original och mycket väl förklarad artikel KZKG ^ Gaara. Skål!

    1.    KZKG ^ Gaara sade

      Tack

  5.   oscar sade

    Vilken djärvhet !!!, och du vågar skriva det på bloggen OO, jag vet inte vad jag ska tänka, är det att någon som inte gillar honom bra hackade Gaara?

    1.    KZKG ^ Gaara sade

      fräckhet? Varför?
      Även om syftet eller motivet med skriptet kanske inte är lika seriöst som resten av mina bidrag, tror jag att manuset, dess linjer och programmeringslogik har mycket att bidra med.

      Du kan dra nytta av flera saker från detta skript:
      1. Hur man vet storleken på en partition och gör den till en variabel.
      2. Hur man kontrollerar om det finns en USB-ansluten och extraherar dess sökväg och namn.
      3. if-then-else och medan loopar.

      Hur som helst, jag tror inte att det här är helt värdelöst eller något.

      1.    oscar sade

        Jag tror att du tolkar min kommentar, jag menar i början av din artikel,
        "Jag var alltid en rastlös student och ville alltid utnyttja möjligheter som ... till exempel att kopiera terminproven från lärarens pendrive eller något liknande." Om det jag säger stör dig, hoppas jag att du ska ursäkta mig, det var inte min avsikt.

        1.    Blaire pascal sade

          oO vilken bra blogg, bra artiklar, bra läsare, användare ber om ursäkt ... det är paradiset lol utan troll.

          1.    KZKG ^ Gaara sade

            tack ^ - ^
            Vi är stolta över vad vi har uppnått hittills, denna gemenskap är verkligen stolt ... det är fantastiskt att vara en del av allt detta 😀

        2.    KZKG ^ Gaara sade

          Nej nej inte alls, jag brydde mig inte riktigt alls xD
          Och ja hehe det var mitt misstag att jag tolkade din kommentar fel hehehe, sorry för det 😉

          Inget som ursäkterna kommer från mig nu, jag måste tvätta ansiktet för att se om jag har vaknat upp det ... från det jag ser är jag fortfarande inte 100% HAHAHA.

          Hälsningar vän 🙂

        3.    oscar sade

          Mycket fin person xD

  6.   neomyth sade

    Jag skulle vilja att mina högskoledatorer skulle ha Linux muhahahjaja.

  7.   GGGG1234 sade

    Bra artikel!
    Men den som vill imitera det i Windows blir lättare, för där du inte har root-åtkomst på den maskin du vill använda den kan du inte lämna den "för alltid". Med Windows händer det inte 😉

  8.   Blaire pascal sade

    Mycket bra hehe.

  9.   Hyuuga_Neji sade

    Idén är bra, den har bara svagheten att behöva använda root-privilegier

    1.    KZKG ^ Gaara sade

      Tja, du behöver inte riktigt vara rot som sådan ... om du förklarar för skriptet att mappen INTE kommer att vara /home/.USBDRIVES som jag uttrycker det, och det står till exempel: / home / usuario /. USBDRIVES ... att köra skriptet med "user" räcker 😀

  10.   Emilio sade

    Det är en bra idé, men jag tror att du skulle spara dig själv att ändra rc.local och köra den varje minut genom crontab, och därmed undviker du problemet att köra den som root och resten, å andra sidan, även om det inte påverkar mycket, du förbrukar minnet av datorn värdelöst var 5: e sekund för att kontrollera om USB är, även om det inte är det. Det är väl min åsikt

    1.    KZKG ^ Gaara sade

      Jag menar, gör en kontroll var 1: e minut, eller hur? Jag gjorde det inte så för ... vad händer om en USB ansluts och kopplas bort på mindre än 1 minut? 😀

      Jag föredrog att göra det var 5: e sekund för att se till att jag verkligen "fångar" all USB 😉

      Om jag missförstod dig, snälla korrigera mig 🙂

      Hälsningar och välkommen.

      1.    Emilio sade

        Ja, gör kontrollen varje minut genom cron, men väl alla har olika sätt att se problemet, inget mer än att titta på koden, det skulle inte vara bättre att kontrollera om mappen /home/.USBDRIVES redan finns innan du skapar det är inget förslag längre

        hälsningar

        1.    KZKG ^ Gaara sade

          Ja också, det är en detalj som jag märkte men ... Jag var lat för att lösa det LOL!

          På samma sätt kan jag lägga en logg där filerna som har kopierats visas (individuell logg för varje enhet), kanske till och med skicka den här loggen via e-post (med någon metod för att skicka e-post via terminal av de jag har lagt här på webbplatsen ) ... men som jag sa till dig, det gör mig lite lat ^ - ^ U

  11.   Pavloco sade

    Hahahaha jättebra.

  12.   hexborg sade

    A HA! Så din programvara kan användas till ondska. LOL!!! 🙂

    Tricket är bra, men ... vad händer om du vill demontera USB innan skriptet är klart att kopiera dess innehåll? I så fall kommer den att klaga på att den används och det kommer att märkas att det är något fel. 🙂

    1.    KZKG ^ Gaara sade

      Systemet tillåter faktiskt inte att USB lossas eftersom "något" kommer att använda den 😉

      1.    hexborg sade

        Exakt! Och det är då Oscars professor tror att han har hittat ett Linux-virus. LOL!! 🙂

  13.   oscar sade

    Du påminde mig en gång om att jag gjorde något liknande (på min Uni om vi hade linux / windows), men jag skapade ett C-program som genererade tusentals mappar. Jag stoppade USB till en kille som kopplade in den. Datacenterchefen blev förvånad! Han trodde att han hittade ett virus i linuxx muajajajaja ... ahhh .. vilka tider var de =)

    1.    miguel sade

      och vad är skillnaden med ett virus?

      1.    oscar sade

        Att jag fjärrsteg kom till hans USB och körde programmet 😛

        1.    miguel sade

          hahahaha, så det var ett hack XD

    2.    KZKG ^ Gaara sade

      ????
      hehehehehe så du hittade ett virus i Linux eller hur? … LOL!!

  14.   semproms sade

    Det fungerar bara inte för mig xD, om jag försöker köra det från terminalen säger det mig detta: ./usb-spy.sh: rad 31: [: -lt: unary operatör förväntas
    Det verkar vara något fel med den här raden: om [$ USBSIZE -lt 15664800]; sedan
    Men jag vet inte vad det är, för det skapar inte .USB-katalogen också.

    Om det kan lösas kan jag hitta ett användbart manus.

    1.    hexborg sade

      Försök att ersätta df med / bin / df och se till att starta den som root.

      1.    semproms sade

        Ok, nu om det skapar .USB-mappen i hemkatalogen, men det fortsätter att berätta för mig genom terminalen att: "./usb-spy.sh: rad 31: [: -lt: unary operatör förväntas" och det gör det inte ' t kopiera ingenting, i den raden måste det finnas någon konflikt, jag uppskattar hjälpen om någon ser det.
        Tack så mycket.

        1.    hexborg sade

          Kan du ge oss innehållet i din / etc / mtab-fil när USB är monterad?

          1.    semproms sade

            Visst, här går det:

            / dev / sda12 / ext4 rw, fel = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            ingen / sys / fs / säkring / anslutningar fusectl rw 0 0
            none / sys / kernel / debugfs debugfs rw 0 0
            ingen / sys / kärna / säkerhetssäkerhet 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 / kör tmpfs rw, noexec, nosuid, storlek = 10%, läge = 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, kortnamn = m $

            De sista raderna är de för den monterade USB / dev / sdb1

          2.    hexborg sade

            Låt oss se om vi har det. 🙂

            Ge oss utdata från df-kommandot. Och försök lägga till raden:

            eko $ USBSIZE

            Rätt framför om det ger problemet och berätta vad som kommer ut när man startar manuset. Det ska se ut så här:

            USBSIZE = `/ bin / df | grep $ USBDEV | awk {'skriv ut $ 2'} `
            eko $ USBSIZE
            om [$ USBSIZE -lt 15664800]; sedan

            Och för alla fall, berätta också vad resultatet för vilket df-kommando är.

            1.    semproms sade

              Ok, i delar returnerar df-kommandot detta till mig:

              Filsystem 1K-block Använda tillgängliga Använd% monterad på
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / kör
              ingen 5120 0 5120 0% / kör / lås
              ingen 2014420 92 2014328 1 XNUMX XNUMX% / kör / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              Kommandot som df returnerar mig: / bin / df

              Sedan har jag lagt ekot $ USBSIZE, och resultatet är detsamma, det skriver inte ut något nytt, men felet från tidigare, det roliga är att detta händer med USB som jag testar, om jag lägger till 500 GB extern hårddisk Ja, den returnerar storleken på hårddisken på skärmen, men 500 överstiger 16 om, därför gör den ingenting med hårddisken.

              Men med USB gör det ingenting annat än att visa felet: ./usb-spy.sh: rad 34: [: -lt: unary operatör förväntas
              Det är som om det inte kunde visa USB-storleken, men med df-kommandot får jag storleken.

              Tack för hjälpen, låt oss se om vi kan få det!


            2.    semproms sade

              Om kommandot inte såg bra ut här lämnar jag en skärmdump: http://i48.tinypic.com/j5dvn5.jpg


          3.    hexborg sade

            Jag ser att sökvägen där den verkar monterad i mtab är «/ media / DOCU403» medan den i df visas «/ media / DOCU 3». Detta gör att grep inte hittar den och inte returnerar storleken. Försök att ändra de första raderna för så att de ser ut så här:

            för USBD i `cat / etc / mtab | grep media | awk '{print $ 1}' '';
            do
            USBDEV = `cat / etc / mtab | grep $ USBD | awk '{print $ 2}' ''
            USBSIZE = `/ bin / df | grep $ USBD | awk {'skriv ut $ 2'} `

            Ändringarna består i att ändra namnet på för variabeln till USBD, ändra $ 2 i slutet av for-raden till $ 1, infoga raden som börjar med USBDEV strax efter do och ändra USBDEV till USBD i raden som börjar med USBSIZE ... Jag hoppas att jag inte rörde mig. 🙂

            Tanken är att göra det för med enhetens namn istället för genom monteringspunkten.

            1.    KZKG ^ Gaara sade

              Problemet var att i mtab när en enhet har mellanslag ... sätter det några "konstiga" tecken på linjen, särskilt på platsen för utrymmet.

              Ingenting, så enkelt att lösa som att ändra det sätt som $ USBDEV är designerat, ändra det på rad 28 och sätt det så här:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              ????


          4.    Atheyus sade

            Låt mig se om jag kan hjälpa dig ...

            Den unary operatören visar det eftersom det inte hittar storleken på skivan, detta händer för att det inte kontrollerar det, detta händer för att det heter

            Dokument 3

            och tar det som två värden, om det vore DOCU skulle det inte öppna ett problem

            Kanske kommer det att fungera för dig

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

            Hälsningar 🙂

            1.    semproms sade

              Det är faktiskt problemet, för jag har precis försökt med andra USB-enheter som har ett namn med ett ord utan mellanslag, exempelvis "klasser" och manuset fungerar utan problem, det var därför det kände igen hårddisken och inte minnena, men nu sak är att veta hur jag lägger citaten i skriptkoden, måste jag lägga dem till "$ USBNAME"?

              Stort tack till Atheyus och Hexborg för hjälpen, det är nästan klart.


          5.    KZKG ^ Gaara sade

            faktiskt semproms det är super enkelt att fixa 😉
            Rad 28 ... ändra det till detta:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Jag gjorde precis testet med den här ändringen och det fungerar bra med enheter vars etikett / namn har ett mellanslag :)

            Nu ska jag göra ändringen i skriptet för att ladda ner.

          6.    hexborg sade

            Mycket bra. Så det är lätt att fixa. 🙂

  15.   auroszx sade

    Ohhh, väldigt genialt 😀 Jag tar notis om jag behöver ...

  16.   semproms sade

    KZKG ^ Gaara, med det arrangemanget fungerar det perfekt, nu om jag kopierar USB med plats i namnet, tack så mycket alla för hjälpen, jag kommer att försöka se om jag kan få den att köra med systemstart och på det sättet Kontrollera varje cykel om det finns någon USB-anslutning.

    Till slut har vi uppnått det xD.

    1.    KZKG ^ Gaara sade

      ^ - ^ ... trevligt hehe.
      Problemet var att jag använde mtab för att känna igen USB, jag kunde helt enkelt ha använt df ... Jag använde mtab eftersom jag tyckte att det skulle vara intressant att förklara den här filen för dig, att du vet det, men jag förutsåg inte detta fel händer med enheter med mellanslag lol.

      Några frågor eller problem du lämnar står sagt, nästan alla här gillar att hjälpa till xD

      hälsningar

    2.    hexborg sade

      Självklart. Vi är linuxare. Vi förstår det alltid. XD.

  17.   Yeretic sade

    Installera en demon på lärarens dator som genererar en post av alla .doc, .docx, .odt, .pdf och skickar dem till dig via post. Förutom att skanna datorn så ofta för att söka efter förändringar, nya filer eller raderingar i nämnda register, och alla nyheter kommer att skicka dig den modifierade eller nya filen via post också.

  18.   Yeretic sade

    På samma sätt tror jag att mer än en plundring, att utföra det manuset (OCH ROT !!!!) är ett självmord. Du gör livet och saker 700% enklare för alla som är intresserade av att infoga en fil på din dator med rootbehörigheter och allt. Kom ihåg att tillägg inte finns i Linux och att en .doc i Linux kan vara densamma som en text, en video eller värre, ett skript (den här gången med mycket dåliga avsikter).

    1.    KZKG ^ Gaara sade

      Att köra det som root är inte helt nödvändigt, definiera bara mappen där innehållet kommer att placeras någonstans där den körande användaren har skrivbehörigheter (till exempel sitt eget hem) och det är det 🙂

      På farliga filer ... ja, du kan lägga till några rader som skulle chmod -x till alla filer och därmed förlora körningsegenskapen.

      1.    semproms sade

        Jag har lagt till dessa rader i början för att ta bort .USBDRIVES-mappen om den redan var skapad:

        om [-s $ PLACE]
        sedan rm -r $ PLACE
        fi

        På det här sättet ger det inte felet i "redan existerande katalog", det vill säga om du måste vara försiktig med att det inte finns något i .USBDRIVES-mappen som vi inte vill ta bort, eftersom det kommer att ta bort det och lägga en annan på sin plats.

  19.   Daniel sade

    För att lägga till nya filformat, skriv bara dem till usb-spy? till exempel .jpg .mp3 etc.

    1.    KZKG ^ Gaara sade

      För att lägga till nya filtyper lägger du den i usb-spy.files
      Titta på filens innehåll så ser du hur du lägger till dem, det är ganska enkelt 😉

  20.   Wuilmer bolivar sade

    Om vi ​​är i samma nätverk, och det finns en lärares maskin, skulle det intressanta vara att göra en nätverksmappning, vi kan ha ssh på maskinerna och på det sättet distribuera koden på laboratoriemaskinerna eller till och med på lärarens maskin .... Detta ger mig så många idéer: $

  21.   xyler sade

    Hej, jag gratulerar dig för inlägget och alla dina bidrag, men jag har en fråga för att se om någon kan lösa detta problem:

    Jag testade ditt skript på en dator med ubuntu 12.04LTS (med Unity) och det fungerade perfekt, men eftersom jag såg att det här skriptet slutade köras efter första gången det kördes, eftersom .USBDRIVES-mappen redan var skapad bestämde jag mig för att använda detta andra manus av ditt författarskap som publicerades i en annan del av detta forum

    här kopierar jag skriptet så att du kan hitta dig själv

    #! / Bin / bash
    #
    # - * - KODNING: UTF-8 - * -
    # Detta program är fri programvara. Du kan omfördela det och / eller
    # ändra det enligt villkoren i General Public License
    GNU # som publicerats av Free Software Foundation,
    # antingen version 2 av nämnda licens eller (beroende på din
    # val) av någon senare version.
    #
    # Om du gör några ändringar i den här applikationen,
    # bör alltid nämna den ursprungliga författaren till samma.
    #
    # Copyleft 2012, FromLinux.net {Havana City, Kuba}.
    # Författare: KZKG ^ Gaara

    MEDAN = 0

    medan [$ CONTROL = 0]; do
    katt / etc / mtab | grep media >> / dev / null
    om [$? -ne 0]; sedan
    RÄKNARE = ​​0
    annars
    RÄKNARE = ​​1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' '`/ /}
    cp $ USBDEV / * / hem /
    fi
    sova 5
    gjort

    avsluta 0

    Ämnet är följande i ubuntu12.04 lts enhet att det senaste skriptet fungerar bra och fungerar men när jag nedgraderar samma dator av "x" -skäl, och försöker få det att fungera i ubuntu 10.10 nej, jag kan få det att fungera
    Å ena sidan kastar det ett fel och det läser inte pennanheter som har ett sammansatt namn till exempel: DATA-G, och det kopierar inte heller de filer som har ett sammansatt namn. Förutom detta problem har jag problemet att manuset bara körs när datorn startas om en gång.

    Frågan skulle vara: hur kan jag få det skriptet att kopiera mig penna enheter och filer med sammansatta namn
    och om jag använder crontab eller så kan jag schemalägga att den ska fungera vid en viss tidpunkt

    En annan detalj, i Ubuntu 10.10, eftersom den använder Gnome vill jag lägga till några begränsningar att ta hänsyn till, när man ger körningsrättigheter till ett skript, måste det ligga i /etc/init.d inte i / etc /
    (Tänk på att du måste klistra in den där och anländer från terminalen med sudo nautilus)

    Å andra sidan skulle ett annat uttalande vara att efter att det har klistrats in där för att se om det kan köras måste det göras i en annan terminal

    sudo su (att vara rot)
    Lösenord

    ls

    cd / etc / init.d

    ls-l

    och där hoppar vi om den är igång eller inte

    sedan i samma terminal eller i en annan terminal vid en annan tidpunkt som root och är i etc / init.d (det vill säga tills steget cd / etc / init.d) som i föregående terminal fortsätter vi enligt följande för att ge det behörigheter för utförande

    sudo chmod + x script.sh

    uppdatera -rc.d script.sh är standard 80

    omstart

    Jag upprepar det så att det körs automatiskt i ubuntu 10.10 om det är en annan version som 12.04 måste du göra vad KZKG ^ Gaara säger

    Och en sista fråga, hur vill jag kopiera innehållet (upp till tre undermappar i pendrive) till hemmet eller till en dold hemmapp eller inte, antar att det var .USBDRIVES
    i koden skulle jag inte behöva säga

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

    Kort sagt, för att få vad jag vill, hur ska manuset stanna?
    Eftersom jag redan försökt modifiera raden som de modifierade till usb-spy sh men till den andra som spelar in direkt hemma och kastar ett fel på den modifierade raden.? Hälsningar . Tack

  22.   Kakashi sade

    Jag kan inte ladda ner det andra skriptet

  23.   metallus sade

    Mycket bra. 😉

  24.   kamaleon sade

    Och om jag inte gör stegen, vad händer? Körs det inte eller går det bara utan root? Om datorerna har ett system som låt oss säga återställer hela datorns interna konfiguration när den stängs av, fungerar det då? Tack.

    1.    KZKG ^ Gaara sade

      I händelse av att systemet har 'något' som är standard till / home / mappen måste du ändra skriptet där det står / home / ändra det till / opt / eller någon annan mapp som inte påverkas.

  25.   Gambi sade

    Jag tror att för att förbättra skriptet och undvika att intrånget i pendrive märks, skulle det bästa vara att prioritera typ, filstorlek. Lämna till exempel stora filer på 100 megabyte eller mer till sist. Eller först kopiera filer doc, docx, txt, pdf, xml, ... etc etc etc och lämna avi, mp4, mkv filer för sista ...

  26.   lucas sade

    Hej, idén är bra. Jag ville ställa två frågor:
    - Kan det göras i omvänd ordning? skapa ett skript för penderiver så att den ansluter till vilken maskin som helst och extraherar filer.
    - fungerar för Windows OS?

    1.    KZKG ^ Gaara sade

      Hej,

      Jag är inte säker på hur det skulle kunna göras att samma pendrive själv exekverar ett skript som den har inuti när man ansluter pendrive.

      Och nej, det här skriptet fungerar inte för Windows 🙂

      1.    LUCAS sade

        Ok, tack för att du svarar mig, jag ska undersöka hur man gör det

  27.   Jose Damian Bazaga Ruiz sade

    Vilket bra manus. Jag har analyserat det och det verkar fantastiskt för mig, förhoppningsvis kunde jag en dag också göra sådana praktiska manus.

  28.   jose sade

    Utmärkt bidrag, även om verktyget som jag kommer att ge det inte är exakt vad du tog upp det för, om jag använder det för säkerhetskopiering av en grupp användare, felaktig uppförande som jag har ... hehehehe ....

  29.   ombuda sade

    när jag försöker köra ger det mig den här felraden 31: [: för många argument
    ta bort den raden för att se om den fungerade. och det visar sig att det är linjen som begränsar storleken på enheterna.
    när jag tar bort det kopierar jag vad jag har i mina monterade partitioner 🙁

  30.   Valente sade

    Hej, jag är ny och jag vet att potten är gammal men jag gillade den mycket, ditt manus är väldigt lärorikt

    Tack för att du delar det och förklarar det i detalj ...

    Våg

  31.   doltrox sade

    Vän, du räddade mig, allt du behöver göra är att distrahera läraren och sätta in USB i min bärbara dator och sedan hahahaaj klarat examen och anteckningar från alla hahaha

    1.    Oetam222 sade

      Kan du skicka mig manuset, länken är nere

    2.    Oetam222 sade

      Du kan skicka mig manuset länken är nere

  32.   Worm2D2 sade

    kzkggaara, kan du ladda upp filerna igen? länkarna är nere: /, tack så mycket

  33.   bastian sade

    Kan du ladda upp länkar tack?

  34.   necr0 sade

    hör! farbror! du har fallit beröm du kan höja dem igen!
    ok! : v

  35.   necr0 sade

    ja, jag gör det här igen för jag vet inte om det jag ville säga laddades upp ...

    ja det är att du har länkarna nere, du kan ladda upp dem!

  36.   Rlorau sade

    Länkarna är nere !!!

  37.   Developer24 sade

    Skicka länkarna igen tack @usemoslinux Jag undersöker ämnet, tack!

  38.   anonym sade

    Manuset kan laddas ner härifrån. Jag tror att det är detsamma

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

  39.   John sade

    Okej då….

    Jag tror från min ödmjuka synvinkel att det är en bra artikel och om det finns människor som säger att du är en fuskare, tror jag att det är i enlighet med det syfte för vilket du använder programmet.
    Jag gillade personligen mer för att känna till programmeringsspråket för Linux eftersom jag bara har arbetat i java, tack kompis, du har väckt mitt intresse för att veta mer om språket för Linux.

    Jag tackar dig.

  40.   Hecorat sade

    Hej vänner, för jag hittade ett annat sätt att använda det här skriptet är att göra backup, jag kommer att prata med er lite jag har två enheter, en kamera och en HDD, det jag vill är att istället för att spela in filerna sparar de lokala filerna dem i en extern hårddisk från kameran till hårddisken men det ger mig ett fel som säger "för många argument" kan du hjälpa mig

  41.   LUIS GERARDO POLANCO VERA sade

    Fungerar det bara med enheter med Linux-operativsystem?

  42.   Testning sade

    Någon höjer det, snälla!

  43.   gasel sade

    Hej, jag har inte linux och i min skola använder de Windows, jag använde appen från usb-capture och jag kopierar bara 5 filer från lärarens minne, jag misstänker att usb har skydd, för samma sak hände två gånger, det kommer att finnas något annat sätt att subtrahera den fullständiga informationen från den usb?

  44.   Zaraki sade

    Gå om du säger att koden kommer att vara enkel, för det verkar väldigt intressant att se metoderna fungerar för att se om en USB är ansluten eller partitionens storlek. Synd att de har tagit bort mega.nz-skriptet, kan du ladda upp det igen?

    Hälsningar och fantastiskt arbete, enkelt men funktionellt även för att automatisera kopior från USB !!!

  45.   Breaks sade

    Bra!
    Jag har precis skrivit in ditt blogginlägg och jag är väldigt intresserad. Vad som händer är att när du klickar på .zip-filen som omdirigerar dig till mega betyder det att filen inte längre är tillgänglig.
    Jag undrade om du kunde skicka mig de filer som ska laddas ner.
    Tack så mycket och hälsningar!

  46.   Alfredo Pereira sade

    Teknik har en vana att krympa i storlek när åren går. Och det har hänt i otrolig grad med SSD-enheter. Nu kan du få dem i samma storlek som de snabbaste USB-flashenheterna.

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

  47.   a sade

    Kan du skicka filen till mig eller ladda upp den igen? Det kommer ut som inte går att ladda ner