Ich war immer ein unruhiger Schüler und wollte immer Gelegenheiten wie ... zum Beispiel das Kopieren der Semesterprüfungen vom USB-Stick des Lehrers oder ähnliches nutzen. Als ich in der High School war (Computer Major), wollte ich "etwas" programmieren, das Folgendes tun würde:
- Erkennen Sie, wenn ein USB-Gerät an den Computer im Klassenzimmer angeschlossen ist
- Kopieren Sie den gesamten Inhalt von diesem Gerät auf Ihren Computer
Dies würde es mir ermöglichen, die Prüfung vor langer Zeit abzulegen. Es wäre nur erforderlich, dass der Lehrer seinen USB-Speicher (Pendrive) an den Computer anschließt, und das war's.
Leider hatten die Computer in meinem Institut Windows und… ich habe nie und nie gelernt, für dieses Betriebssystem zu programmieren.
Jetzt benutze ich jedoch Linux (offensichtlich nicht? LOL!) Und mit dem Wissen, das ich in all den Jahren erwerben konnte, jetzt JA! Das kann ich schon mit Linux erreichen 😀
Das heißt, ich habe ein einfaches Skript programmiert, das Folgendes ausführt:
1. Erstellen Sie den Ordner /home/.USBDRIVES/
2. Es wird alle 5 Sekunden überprüft, ob ein USB-Gerät (oder eine CD / DVD) an den Computer angeschlossen ist.
3. Wenn einer angeschlossen ist, wird in /home/.USBDRIVES/ ein Ordner mit dem Namen des USB (Zum Beispiel: Speicher-2 GB) und kopiert außerdem alle Dateien .doc, .pdf usw. (hier die Liste) in diesen Ordner, den Sie gerade erstellt haben.
4. Falls kein USB angeschlossen ist, wartet es einfach 5 Sekunden, um die oben erläuterte Prüfung erneut zu starten 😀
Hier ist das Skript und die Datei, die die zu kopierenden Formate enthält:
Damit das Skript problemlos funktioniert, ist es am besten, es mit Administratorrechten (root) zu starten, da es offensichtlich zusammen mit dem Computer gestartet werden muss. Auf diese Weise stellen wir sicher, dass der Computer beim Neustart neu gestartet wird oder aus, wenn ich das Skript erneut starte, wird es dort funktionieren und bereit sein, von jedem USB zu extrahieren, was wir wollen 😉
Lassen Sie uns ein Terminal öffnen ... einmal geöffnet ...
1. Angenommen, wir haben beide Dateien in / Opt / (/opt/usb-spy.sh y /opt/usb-spy.files) müssen wir ihm Ausführungsrechte geben:
sudo chmod +x /opt/usb-spy.sh
2. Wir öffnen die Datei /etc/rc.local :
sudo nano /etc/rc.local
3. Darin schreiben wir über die letzte Zeile (Beenden Sie 0) der nächste:
/opt/usb-spy.sh &
4. Jetzt drücken wir [Strg] + [X], um die Datei zu speichern und zu beenden, drücken wir [S] oder [Y] (abhängig von der Systemsprache) und dann [Enter]. Dies reicht aus, damit die von uns vorgenommenen Änderungen gespeichert werden.
Und voila, dies wird ausreichen, damit das Skript als Root startet, wenn wir den Computer einschalten.
Es ist wichtig, die Datei zu überprüfen USB-Spy.files befindet sich im selben Verzeichnis wie USB-spy.sh 😉
Jetzt ... werde ich ein wenig über das Innenleben des Drehbuchs erklären, da ich weiß, dass es hier viele Bash-Liebhaber gibt
Q: Woher weiß das Skript, dass ein USB-Gerät angeschlossen ist? A: In der Datei / etc / mtab unseres Systems befinden sich die Geräte oder Partitionen, die auf unserem System bereitgestellt sind. Über Zeile 23 des Skripts ist bekannt, ob ein USB angeschlossen ist oder nicht (Katze zu MTAB und Grep Media machen)
F: Ja, aber Woher weiß das Skript, ob die Katze und der Grep Daten an uns zurückgeben oder nicht? A: Durch a wenn dann sonst Schleife Das beginnt in Zeile 24.
Q: Wie kann man nur Dateien mit den gewünschten Erweiterungen kopieren? (.doc, .pdf usw.)
A: Bei Verwendung von rsync mit verschiedenen Parametern befindet sich dies in Zeile 34. Einfach erklärt, mit rsync kopiere ich nur die Dateien, die mit dem Filter usb-spy.files übereinstimmen. Jede Zeile ist sozusagen ein Filter. Ich übergebe auch den Parameter --prune-empty-dirs
zu rsync, damit für mich keine leeren Verzeichnisse erstellt werden.
Es gibt eigentlich nicht viel zu erklären, das Skript ist wirklich einfach zu verstehen :)
Wenn jemand Zweifel oder Fragen, Beschwerden, Ideen oder Vorschläge hat, sagen Sie dies bitte und ich verspreche, ihnen so viel wie möglich zu helfen.
Nun, ich dachte darüber nach, etwas wie: «Dieses Skript dient nur zu Bildungszwecken und darf nicht mit schädlichen Dateien verwendet werden»… Aber… was zur Hölle! Verwenden Sie es für alles, was Sie wollen, es ist Zeit, dass die Schüler einen Vorteil gegenüber den Lehrern haben, die uns unterdrücken 😀
Grüße
Betrüger ¬¬
XDDDD
Nein, überhaupt nicht ... wenn Sie sicher irgendwann daran gedacht haben, so etwas zu tun ... HAHAHA.
Du hast mich vor einem Pop-Quiz gerettet 😀… Jetzt dein «KZKG ^ Gaara» Du bist mein Gott… Lobe dich!
Hallo, sehr gutes Skript, aber in Mega existiert die Datei nicht mehr, Sie können sie bitte an meine E-Mail senden
Linux ist 1% und Sie sagen, dass Sie nie gelernt haben, für Windows zu programmieren, also ist das Tutoring für ein Linux-System. Meine Frage ist: Was ist die Möglichkeit, einen Lehrer zu finden, der Linux verwendet, um das Tutoring durchführen zu können?
Dieses Skript oder dieser Trick wird auf einem Computer "implementiert", der nicht unbedingt der persönliche oder der des Professors sein muss. Es reicht aus, wenn es sich um einen Computer einer Universität oder eines Colleges handelt. Dann wäre dies nur mit X möglich oder Y Grund, warum der Professor Ihren USB an diesen Computer anschließt.
Ja, es ist für Linux, aber viele Universitäten haben Linux als System in Computerlabors sowie das Booten mit einer LiveCD und nicht unbedingt das Installieren von Linux auf dem PC 🙂
Über die 1% empfehle ich Ihnen, diesen Beitrag zu lesen: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/
Die Möglichkeit, dass ein riesiger Meteorit in ungefähr 30 Minuten auf den Atlantik fällt
Es sieht interessant aus, es muss versucht werden.
dank
Das Dienstprogramm, das es hat, ist keine großartige Sache, aber das Skript als solches ist interessant ... weil Sie verschiedene Tipps daraus lernen können, zum Beispiel, wie man den angeschlossenen USB, die Größe der Partitionen usw. usw. Kennt
Ein origineller und sehr gut erklärter Artikel KZKG ^ Gaara. Prost!
dank
Was für eine Kühnheit !!!, und du wagst es, es auf dem Blog zu schreiben. OO, ich weiß nicht, was ich denken soll. Hat jemand Gaara gehackt, der ihn nicht gut mag?
Frechheit? Warum?
Obwohl der Zweck oder das Motiv des Skripts möglicherweise nicht so ernst ist wie der Rest meiner Beiträge, haben das Skript, seine Zeilen und die Programmierlogik meiner Meinung nach viel beizutragen.
Mit diesem Skript können Sie verschiedene Vorteile nutzen:
1. Wie man die Größe einer Partition erkennt und dass dies eine Variable ist.
2. So überprüfen Sie, ob ein USB-Anschluss angeschlossen ist, und extrahieren dessen Pfad und Namen.
3. Wenn-Dann-Sonst und While-Schleifen.
Jedenfalls denke ich nicht, dass dies völlig nutzlos ist oder so.
Ich denke, Sie interpretieren meinen Kommentar falsch, ich meine am Anfang Ihres Artikels,
"Ich war immer ein unruhiger Schüler und wollte immer Gelegenheiten wie ... zum Beispiel das Kopieren der Semesterprüfungen vom Stift des Lehrers oder ähnliches nutzen." Wenn dich das, was ich sage, stört, hoffe ich, dass du mich entschuldigst, war es nicht meine Absicht.
oO was für ein ausgezeichneter Blog, gute Artikel, gute Leser, Benutzer entschuldigen sich ... es ist ein Paradies lol frei von Trollen.
dank ^ - ^
Wir sind stolz auf das, was wir bisher erreicht haben, diese Community ist wirklich stolz ... es ist großartig, Teil all dessen zu sein 😀
Nein, nein, überhaupt nicht, ich habe mich überhaupt nicht wirklich darum gekümmert xD
Und ja, hehe, es war mein Fehler, Ihren Kommentar falsch zu interpretieren, hehehe, tut mir leid 😉
Nichts, was die Entschuldigung jetzt von mir kommt, ich muss mein Gesicht waschen, um zu sehen, ob ich damit fertig bin aufzuwachen ... nach dem, was ich sehe, bin ich immer noch nicht 100% HAHAHA.
Grüße Freund 🙂
Sehr gute Person xD
Ich möchte, dass meine College-Computer Linux muhahahjaja haben.
Guter Artikel!
Aber wer es in Windows imitieren möchte, wird einfacher, denn wenn Sie keinen Root-Zugriff auf den Computer haben, den Sie verwenden möchten, können Sie es nicht "für immer" belassen. Unter Windows passiert das nicht 😉
Sehr gut hehe.
Die Idee ist gut, sie hat nur die Schwäche, Root-Rechte verwenden zu müssen
Nun, Sie müssen nicht unbedingt root sein, wenn Sie dem Skript erklären, dass der Ordner NICHT /home/.USBDRIVES sein wird, wie ich es ausdrückte, und es heißt zum Beispiel: /home/usuario/.USBDRIVES ... dann führen Sie das aus Skript mit "Benutzer" wird ausreichen 😀
Es ist eine gute Idee, aber ich denke, Sie würden sich ersparen, die rc.local zu ändern und sie jede Minute über crontab auszuführen, und so das Problem vermeiden, sie als root und den Rest auszuführen. Andererseits verbrauchen Sie nutzlos Speicher des PCs, obwohl dies nicht viel bewirkt alle 5 Sekunden, um zu überprüfen, ob der USB-Anschluss vorhanden ist, auch wenn dies nicht der Fall ist. Nun, das ist mein Standpunkt
Ich meine, mach alle 1 Minute einen Check, oder? Ich habe es nicht so gemacht, weil… was ist, wenn ein USB in weniger als 1 Minute angeschlossen und getrennt wird? 😀
Ich habe es vorgezogen, dies alle 5 Sekunden zu tun, um sicherzustellen, dass wirklich alle USBs "erfasst" werden 😉
Wenn ich Sie missverstanden habe, korrigieren Sie mich bitte 🙂
Grüße und willkommen.
Ja, überprüfen Sie jede Minute durch cron, aber jeder hat eine andere Sichtweise auf das Problem, nichts weiter als den Code zu betrachten. Es ist nicht besser zu überprüfen, ob der Ordner /home/.USBDRIVES bereits vorhanden ist, bevor Sie ihn erstellen Es ist nur ein Vorschlag
Grüße
Ja auch, es ist ein Detail, das mir aufgefallen ist, aber ... ich war faul, es zu lösen LOL!
Ebenso könnte ich ein Protokoll erstellen, in dem die kopierten Dateien angezeigt werden (individuelles Protokoll für jedes Gerät), und dieses Protokoll möglicherweise sogar per E-Mail senden (mithilfe einer Methode zum Senden von E-Mails per Terminal derjenigen, die ich hier auf der Website angegeben habe) ) ... aber wie gesagt, ich bin ein bisschen faul ^ - ^ U.
Hahahaha großartig.
AHA! So kann Ihre Software für das Böse verwendet werden. LOL !!! 🙂
Der Trick ist in Ordnung, aber ... was ist, wenn Sie den USB-Anschluss aushängen möchten, bevor das Skript den Inhalt kopiert? In diesem Fall wird es sich beschweren, dass es in Gebrauch ist, und es wird bemerkt, dass etwas nicht stimmt. 🙂
Tatsächlich lässt das System nicht zu, dass der USB-Anschluss entfernt wird, da "etwas" ihn verwendet 😉
Genau! Und dann glaubt Oskars Professor, er habe einen Linux-Virus gefunden. LOL !! 🙂
Sie haben mich einmal daran erinnert, dass ich etwas Ähnliches gemacht habe (auf meiner Uni, wenn wir Linux / Windows hatten), aber ich habe ein C-Programm erstellt, das Tausende von Ordnern generiert hat. Ich habe den USB an einen Mann gepolstert, der ihn angeschlossen hat. Der Manager des Rechenzentrums war begeistert! Er dachte, er hätte einen Virus in Linuxx Muajajajaja gefunden ... ahhh ... wie spät waren das =)
und was ist der Unterschied zu einem Virus?
Dass ich aus der Ferne an seinen USB angeschlossen bin und das Programm ausgeführt habe 😛
hahahaha, also war es ein Hack XD
:)
hehehehehe also hast du unter Linux einen Virus gefunden oder? … LOL !!
Es funktioniert einfach nicht für mich xD, wenn ich versuche, es vom Terminal aus auszuführen, sagt es mir Folgendes: ./usb-spy.sh: Zeile 31: [: -lt: unärer Operator erwartet
An dieser Zeile scheint etwas nicht zu stimmen: if [$ USBSIZE -lt 15664800]; dann
Aber ich weiß nicht, was es ist, weil es auch nicht das .USB-Verzeichnis erstellt.
Wenn es gelöst werden kann, kann ich ein nützliches Skript finden.
Versuchen Sie, df durch / bin / df zu ersetzen, und stellen Sie sicher, dass Sie es als root starten.
Ok, jetzt, wenn es den .USB-Ordner im Home-Verzeichnis erstellt, mir aber über das Terminal immer wieder sagt, dass: "./usb-spy.sh: Zeile 31: [: -lt: unärer Operator erwartet" und dies nicht der Fall ist. Wenn Sie nichts kopieren, muss es in dieser Zeile einen Konflikt geben. Ich schätze die Hilfe, wenn jemand sie sieht.
Vielen Dank.
Können Sie uns den Inhalt Ihrer / etc / mtab-Datei geben, wenn der USB-Anschluss angeschlossen ist?
Klar, hier geht es:
/ dev / sda12 / ext4 rw, fehler = remount-ro 0 0
proc / proc proc rw, noexec, nosuid, nodev 0 0
sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
keine / sys / fs / Sicherung / Verbindungen 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, Größe = 10%, Modus = 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, kurzname = m $
Die letzten Zeilen sind die des gemounteten USB / dev / sdb1
Mal sehen, ob wir es haben. 🙂
Geben Sie uns die Ausgabe des Befehls df. Und versuchen Sie, die Zeile hinzuzufügen:
echo $ USBSIZE
Direkt vor dem if gibt das Problem und sagen Sie uns, was beim Starten des Skripts herauskommt. Es sollte so aussehen:
USBSIZE = `/ bin / df | grep $ USBDEV | awk {'print $ 2'} `
echo $ USBSIZE
if [$ USBSIZE -lt 15664800]; dann
Und für alle Fälle sagen Sie uns auch, was die Ausgabe des Befehls which df ist.
Ok, in Teilen gibt der Befehl df Folgendes an mich zurück:
Dateisystem 1K-Blöcke Verwendet Verfügbar Verwenden% Bereitgestellt am
/ dev / sda12 54082300 45246956 6125892 89% /
udev 2004028 4 2004024 1% / dev
tmpfs 805768 1180 804588 1% / Lauf
keine 5120 0 5120 0% / run / lock
keine 2014420 92 2014328 1 XNUMX XNUMX% / run / shm
/ dev / sdb1 1023200 322256 700944 32% / media / DOCU 3
Der Befehl, den df mir zurückgibt: / bin / df
Dann habe ich das Echo $ USBSIZE gesetzt, und das Ergebnis ist das gleiche, es druckt nichts Neues, aber der Fehler von vor, das Lustige ist, dass dies mit dem USB passiert, den ich teste, wenn ich die 500 GB externe Festplatte einsetze Ja, es gibt die Größe der Festplatte auf dem Bildschirm zurück, aber die 500 überschreitet die 16 des if, daher tut es mit der Festplatte nichts.
Aber mit USB macht es nichts anderes, als den Fehler anzuzeigen: ./usb-spy.sh: Zeile 34: [: -lt: unärer Operator erwartet
Es ist, als könnte es nicht die Größe des USB anzeigen, aber mit dem Befehl df erhalte ich seine Größe.
Danke für die Hilfe, mal sehen, ob wir sie bekommen können!
Nur für den Fall, dass der Befehl hier nicht gut aussah, hinterlasse ich einen Screenshot: http://i48.tinypic.com/j5dvn5.jpg
Ich sehe, dass in der mtab der Pfad, in dem es gemountet erscheint, "/ media / DOCU403" ist, während es in df "/ media / DOCU 3" erscheint. Dies führt dazu, dass grep es nicht findet und die Größe nicht zurückgibt. Versuchen Sie, die ersten Zeilen von for so zu ändern, dass sie folgendermaßen aussehen:
für USBD in `cat / etc / mtab | grep media | awk '{print $ 1}' '';
do
USBDEV = `cat / etc / mtab | grep $ USBD | awk '{print $ 2}' ''
USBSIZE = `/ bin / df | grep $ USBD | awk {'print $ 2'} `
Die Änderungen bestehen darin, den Namen der for-Variablen in USBD zu ändern, die $ 2 am Ende der for-Zeile in $ 1 zu ändern, die Zeile, die mit USBDEV beginnt, unmittelbar nach dem Do einzufügen und USBDEV in USBD in die Zeile zu ändern, die mit beginnt USBSIZE… Ich hoffe, ich habe nicht rumgespielt. 🙂
Die Idee ist, das für nach dem Namen des Geräts anstatt nach dem Einhängepunkt zu tun.
Das Problem war, dass in der mtab, wenn ein Gerät Leerzeichen hat ... einige "seltsame" Zeichen in die Zeile eingefügt werden, insbesondere anstelle des Leerzeichens.
Nichts, das so einfach zu lösen ist, wie die Bezeichnung von $ USBDEV zu ändern, ändert es in Zeile 28 und setzt es so:
for USBDEV in `df | grep media | awk -F / {'print $5'}` ;
:)
Lassen Sie mich sehen, ob ich Ihnen helfen kann ...
Der unäre Operator zeigt es an, weil er die Größe der Festplatte nicht findet. Dies geschieht, weil er es nicht überprüft. Dies geschieht, weil er aufgerufen wird
DOKU 3
und nimmt es als zwei Werte, wenn es DOCU wäre, würde es kein Problem eröffnen
Vielleicht funktioniert das für Sie
http://www.itimetux.com/2012/11/manejar-archivos-o-carpetas-con-espacios-en-unix.html
Grüße 🙂
In der Tat ist das das Problem, weil ich gerade mit anderen USB versucht habe, die einen Namen mit einem Wort ohne Leerzeichen haben, Beispiel "Klassen" und das Skript funktioniert ohne Probleme, deshalb hat es die Festplatte und nicht die Speicher erkannt, aber jetzt die Muss ich wissen, wie ich die Anführungszeichen in den Skriptcode setze, muss ich sie auf "$ USBNAME" setzen?
Vielen Dank an Atheyus und Hexborg für die Hilfe, es ist fast geschafft.
Eigentlich Semprom es ist super einfach zu reparieren 😉
Zeile 28 ... ändern Sie dies in:
for USBDEV in `df | grep media | awk -F / {'print $5'}` ;
Ich habe gerade den Test mit dieser Änderung durchgeführt und es funktioniert gut mit Geräten, deren Label / Name ein Leerzeichen hat :)
Jetzt werde ich die Änderung im Skript zum Herunterladen vornehmen.
Sehr gut. So ist es einfach zu beheben. 🙂
Ohhh, sehr genial 😀 Ich werde es zur Kenntnis nehmen, falls ich ...
KZKG ^ Gaara, mit dieser Anordnung funktioniert es perfekt. Wenn ich jetzt den USB mit dem Leerzeichen im Namen kopiere, vielen Dank an alle für die Hilfe, werde ich versuchen zu sehen, ob ich ihn mit dem Systemstart und auf diese Weise zum Laufen bringen kann Überprüfen Sie jeden Zyklus, ob USB angeschlossen ist.
Am Ende haben wir es xD erreicht.
^ - ^ ... schön hehe.
Das Problem war, dass ich mtab verwendet habe, um den USB zu erkennen, ich hätte einfach df verwenden können ... Ich habe mtab verwendet, weil ich dachte, es wäre interessant, ihnen diese Datei zu erklären, dass sie es wissen, aber ich habe das nicht vorausgesehen Fehler würde mit Geräten mit Leerzeichen lol passieren.
Bei Fragen oder Problemen, die Sie hinterlassen, hilft fast jeder hier gerne xD
Grüße
Na sicher. Wir sind Linuxer. Wir bekommen es immer. XD.
Installieren Sie einen Daemon auf dem PC des Lehrers, der eine Aufzeichnung aller DOC-, DOCX-, ODT- und PDF-Dateien generiert und diese per E-Mail an Sie sendet. Sie scannen den PC nicht nur von Zeit zu Zeit auf der Suche nach Änderungen, neuen Dateien oder Löschungen in dieser Registrierung, sondern erhalten auch die geänderte oder neue Datei per E-Mail.
Wie auch immer, ich denke, dass die Ausführung dieses Skripts (UND ALS WURZEL !!!!) mehr als nur ein Haken ist. Sie machen das Leben und die Dinge für alle, die eine Datei mit Root-Berechtigungen und allem auf Ihrem PC einfügen möchten, um 700% einfacher. Denken Sie daran, dass es unter Linux keine Erweiterungen gibt und dass ein .doc unter Linux mit einem Text, einem Video oder schlimmer noch einem Skript identisch sein kann (diesmal mit sehr schlechten Absichten).
Das Ausführen als root ist nicht unbedingt erforderlich. Definieren Sie einfach den Ordner, in dem der Inhalt an einem Ort abgelegt wird, an dem der ausgeführte Benutzer Schreibberechtigungen hat (z. B. sein eigenes Zuhause), und fertig
Über gefährliche Dateien ... Nun, Sie könnten einige Zeilen hinzufügen, die allen Dateien chmod -x hinzufügen würden, wodurch die Ausführungseigenschaft verloren geht.
Ich habe diese Zeilen am Anfang hinzugefügt, um den Ordner .USBDRIVES zu löschen, falls er bereits erstellt wurde:
if [-s $ PLACE]
dann rm -r $ PLACE
fi
Auf diese Weise wird nicht der Fehler "Verzeichnis bereits vorhanden" ausgegeben, dh wenn Sie darauf achten müssen, dass sich im Ordner .USBDRIVES nichts befindet, das nicht gelöscht werden soll, da es gelöscht und ein anderes an seine Stelle gesetzt wird.
Um neue Dateiformate hinzuzufügen, schreiben Sie sie einfach an usb-spy? zum Beispiel .jpg .mp3 usw.
Um neue Dateitypen hinzuzufügen, fügen Sie diese in die Datei usb-spy.files ein
Schauen Sie sich den Inhalt der Datei an und Sie werden sehen, wie Sie sie hinzufügen können, es ist ganz einfach 😉
Wenn wir uns im selben Netzwerk befinden und es eine Lehrermaschine gibt, wäre es interessant, eine Netzwerkzuordnung durchzuführen. Möglicherweise haben wir ssh auf den Maschinen und verteilen auf diese Weise den Code auf den Labormaschinen oder sogar auf der Lehrermaschine ... . Das gibt mir sooo viele Ideen: $
Hallo, ich gratuliere Ihnen zu dem Beitrag und all Ihren Beiträgen, aber ich habe eine Frage, um zu sehen, ob jemand dieses Problem lösen kann:
Ich habe Ihr Skript auf einem PC mit Ubuntu 12.04LTS (mit Unity) getestet und es hat perfekt funktioniert, aber als ich sah, dass dieses Skript nach der ersten Ausführung nicht mehr ausgeführt wurde, weil der Ordner .USBDRIVES bereits erstellt wurde, habe ich mich dazu entschlossen Verwenden Sie direkt dieses andere Skript Ihrer Urheberschaft, das in einem anderen Teil dieses Forums veröffentlicht wurde
Hier kopiere ich das Skript, damit Sie sich selbst finden können
#! / Bin / bash
#
# - * - ENCODING: UTF-8 - * -
# Dieses Programm ist freie Software. Sie können es weitergeben und / oder
# Ändern Sie es unter den Bedingungen der General Public License
Anzahl der von der Free Software Foundation veröffentlichten GNU,
# entweder Version 2 der Lizenz oder (abhängig von Ihrer
# Wahl) einer späteren Version.
#
# Wenn Sie Änderungen an dieser Anwendung vornehmen,
# sollte immer den ursprünglichen Autor desselben erwähnen.
#
#Copyleft 2012, DesdeLinux.net {Havanna-Stadt, Kuba}.
# Autor: KZKG ^ Gaara
WHILE = 0
während [$ CONTROL = 0]; tun
cat / etc / mtab | grep media >> / dev / null
wenn [$? -ne 0]; dann
COUNTER = 0
sonst
COUNTER = 1
: $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` / »}
cp $ USBDEV / * / home /
fi
Schlaf 5
erledigt
Beenden Sie 0
Das Thema in Ubuntu12.04 lautet wie folgt: Das letzte Skript läuft einwandfrei und funktioniert. Wenn ich jedoch denselben PC aus "x" -Gründen herunterstufen und versuchen, ihn in Ubuntu 10.10 zum Laufen zu bringen, kann ich ihn zum Laufen bringen
Einerseits wird ein Fehler ausgegeben, und es werden weder die USB-Sticks mit einem zusammengesetzten Namen gelesen, z. B. DATA-G, noch werden die Dateien mit einem zusammengesetzten Namen kopiert. Abgesehen von diesem Problem habe ich das Problem, dass das Skript nur ausgeführt wird, wenn der PC einmal neu gestartet wird.
Die Frage wäre: Wie kann ich dieses Skript dazu bringen, mir USB-Sticks und Dateien mit zusammengesetzten Namen zu kopieren?
und wenn ich crontab benutze oder ich es so planen kann, dass es zu einer bestimmten Zeit funktioniert
Ein weiteres Detail in Ubuntu 10.10, da es Gnome verwendet, möchte ich einige Einschränkungen hinzufügen, die berücksichtigt werden müssen. Wenn Sie einem Skript Ausführungsberechtigungen erteilen, muss es sich in /etc/init.d befinden, nicht in / etc /
(Beachten Sie, dass Sie es dort einfügen müssen, wenn Sie mit sudo nautilus vom Terminal kommen.)
Andererseits wäre eine andere Dimension, dass nach dem Einfügen dort, um zu sehen, ob es ausgeführt werden kann, es in einem anderen Terminal durchgeführt werden muss
sudo su (Wurzel sein)
Passwort
ls
cd / etc / init.d.
ls -l
und dort springen wir, ob es läuft oder nicht
dann im selben Terminal oder in einem anderen Terminal zu einem anderen Zeitpunkt als root und in etc / init.d (dh bis zum Schritt cd / etc / init.d) wie im vorherigen Terminal fahren wir wie folgt fort, um ihm die Berechtigungen von zu erteilen Ausführung
sudo chmod + x script.sh
update -rc.d script.sh ist standardmäßig 80
rebooten
Ich wiederhole das so, dass es in Ubuntu 10.10 automatisch ausgeführt wird. Wenn es sich um eine andere Version wie 12.04 handelt, müssen Sie das tun, was KZKG ^ Gaara sagt
Und noch eine letzte Frage: Wie soll der Inhalt (bis zu 3 Unterordner auf dem Pendrive) nach Hause oder in einen versteckten Home-Ordner kopiert werden oder nicht?
im code müsste ich nicht sagen
cp -r /media/*/*/*/home/.USBLAUFWERKE/*
Kurz gesagt, um zu bekommen, was ich will, wie soll das Skript bleiben?
Weil ich bereits versucht habe, die Zeile zu ändern, die sie in usb-spy sh geändert haben, aber in die andere, die direkt zu Hause aufzeichnet und einen Fehler in der geänderten Zeile auslöst. Grüße . Vielen Dank
Ich kann das zweite Skript nicht herunterladen
Sehr gut. 😉
Und wenn ich die von Ihnen eingegebenen Schritte nicht mache, was passiert dann? Läuft es nicht oder läuft es nur, aber ohne root? Wenn die Computer über ein System verfügen, von dem wir sagen, dass es beim Herunterfahren die gesamte interne Konfiguration des Computers wiederherstellt, funktioniert es dann? Vielen Dank.
Für den Fall, dass das System standardmäßig den Ordner / home / hat, müssen Sie das Skript ändern, in dem / home / steht, ändern Sie es in / opt / oder in einen anderen Ordner, der nicht betroffen ist.
Ich denke, um das Skript zu verbessern und zu vermeiden, dass das Eindringen in das Pendrive bemerkt wird, wäre es optimal, Typ und Dateigröße zu priorisieren. Lassen Sie beispielsweise große Dateien mit einer Größe von 100 Megabyte oder mehr zum Schluss. Oder kopieren Sie zuerst die Dateien doc, docx, txt, pdf, xml, ... etc etc etc und lassen Sie avi, mp4, mkv Dateien für die letzten ...
Hallo, die Idee ist gut. Ich wollte zwei Fragen stellen:
- Kann es umgekehrt gemacht werden? Erstellen Sie einen Scrip für den Penderiver, der eine Verbindung zu einem beliebigen Computer herstellt und Dateien extrahiert.
- funktioniert unter Windows?
Hallo,
Ich bin mir nicht sicher, wie es gemacht werden könnte, dass beim Anschließen des Pendrive dasselbe Pendrive ein Skript, das es enthält, selbst ausführt.
Und nein, dieses Skript funktioniert nicht für Windows 🙂
Ok, danke, dass du mir geantwortet hast. Ich werde untersuchen, wie es geht
Was für ein gutes Drehbuch. Ich habe es analysiert und es scheint mir erstaunlich, hoffentlich könnte ich eines Tages auch solche praktischen Skripte erstellen.
Hervorragender Beitrag, obwohl das Dienstprogramm, das ich ihm geben werde, nicht genau das ist, wofür Sie es angesprochen haben, wenn ich es für Dateisicherungen einer Gruppe von Benutzern verwende, Fehlverhalten, das ich habe… hehehehe….
Wenn ich versuche auszuführen, erhalte ich die folgende Fehlerzeile 31: [: zu viele Argumente
Entfernen Sie diese Zeile, um zu sehen, ob es funktioniert hat. und es stellt sich heraus, dass es die Linie ist, die die Größe der Geräte einschränkt.
Beim Entfernen wird kopiert, was ich in meinen gemounteten Partitionen habe 🙁
Hallo, ich bin neu und ich weiß, dass der Topf alt ist, aber es hat mir sehr gut gefallen, Ihr Skript ist sehr lehrreich
Vielen Dank, dass Sie es geteilt und ausführlich erklärt haben ...
Welle
Freund, du hast mich gerettet, ich musste nur den Lehrer ablenken und den USB in meinen Laptop stecken und dann hahahaaj bestand Prüfung und Notizen von allen hehehe
Könnten Sie mir das Skript übergeben, der Link ist ausgefallen
Kannst du mir das Skript übergeben, der Link ist ausgefallen
kzkggaara, könnten Sie die Dateien erneut hochladen? Die Links sind unten: /, vielen Dank
Können Sie bitte Links hochladen?
hört! Onkel! Sie haben das gefallene Lob, das Sie wieder erheben könnten!
IN ORDNUNG! : v
Nun, ich mache das noch einmal, weil ich nicht weiß, ob das, was ich sagen wollte, hochgeladen wurde.
Nun, es ist so, dass Sie die Links unten haben, die Sie hochladen können!
Die Links sind unten !!!
Senden Sie die Links bitte erneut @usemoslinux Ich untersuche das Thema, danke!
Das Skript kann hier heruntergeladen werden. Ich denke es ist das gleiche
https://mega.nz/#!yQR1BQTb!FoYoopZ11WSstQaqX1flxhm1t4jCKOI9jj8VIxIBrxk
Na dann….
Ich denke aus meiner bescheidenen Sicht, dass es ein großartiger Artikel ist, und wenn es Leute gibt, die sagen, dass Sie ein Betrüger sind, dann denke ich, dass es dem Zweck entspricht, für den Sie das Programm verwenden.
Ich persönlich mochte es mehr, die Programmiersprache für Linux zu kennen, da ich nur in Java gearbeitet habe. Danke, Kumpel, Sie haben mein Interesse geweckt, mehr über die Sprache für Linux zu erfahren.
Ich danke dir.
Hallo Freunde, da ich eine andere Möglichkeit gefunden habe, dieses Skript zu verwenden, ist das Sichern. Ich werde ein wenig mit Ihnen sprechen. Ich habe zwei Geräte, eine Kamera und eine Festplatte. Ich möchte, dass die lokalen Dateien die Dateien nicht aufzeichnen, sondern auf einer externen Festplatte speichern von der Kamera auf die Festplatte, aber es gibt mir einen Fehler, der "zu viele Argumente" sagt, könnten Sie mir helfen
Es funktioniert nur mit Geräten mit Linux-Betriebssystemen?
Jemand erhöht es bitte!
Hallo, ich habe kein Linux und in meiner Schule verwenden sie Windows, ich habe die App von USB Capture verwendet und ich kopiere nur 5 Dateien aus dem Speicher des Lehrers. Ich vermute, dass USB Schutz hat, weil dasselbe zweimal passiert ist, es wird einen anderen Weg geben die vollständigen Informationen von diesem USB zu subtrahieren?
Gehen Sie, wenn Sie sagen, dass der Code einfach sein wird, da es sehr interessant erscheint, zu sehen, wie die Methoden funktionieren, um festzustellen, ob ein USB angeschlossen ist oder wie groß die Partition ist. Schade, dass sie das mega.nz-Skript entfernt haben. Könnten Sie es erneut hochladen?
Grüße und tolle Arbeit, einfach, aber funktional, um Kopien von USB zu automatisieren !!!
Gut!
Ich habe gerade Ihren Blog-Beitrag eingegeben und bin wirklich interessiert. Wenn Sie die ZIP-Datei angeben, die Sie zu Mega umleitet, bedeutet dies, dass die Datei nicht mehr verfügbar ist.
Ich habe mich gefragt, ob Sie mir die Dateien senden könnten, die heruntergeladen werden sollen.
Vielen Dank und Grüße!
Technologie hat die Angewohnheit, im Laufe der Jahre an Größe zu verlieren. Und das ist bei Solid State Drives (SSDs) in unglaublichem Maße passiert. Jetzt können Sie sie in der gleichen Größe wie die schnellsten USB-Sticks erhalten.
https://clongeek.com/las-unidades-usb-3-0-mas-rapidas/
Kannst du mir die Datei schicken oder nochmal hochladen? Es kommt heraus, das nicht heruntergeladen werden kann