Braunschweiger MailBox - Online Gaming Clan | Hilfe Suche Mitglieder Kalender |
Willkommen Gast ( Einloggen | Registrieren ) | Bestätigungs E Mail erneut senden |
Seiten:12 ( Zum ersten neuen Beitrag ) |
Tekbaron |
Geschrieben am: Sonntag, 23.September 2001, 15:58 Uhr
|
Leader Gruppe: [-bmb-]Admin Beiträge: 2385 Mitgliedsnummer.: 12 Mitglied seit: 2001-03-07 |
Da ich ja ne faule Socke bin jetzt mal noch eins drauf, wenn Linux runterfährt warum muss ich dann noch Windows runterfahren. Eigendlich sollte mit dem Button beide runterfahren, und so wirds gemacht:
In die Batch c:\windows\autohalt.bat eintragen: Code Sample: @echo off rem >\\bmb\jmeier\remoteshutdown RUNDLL32.EXE SHELL32.DLL,SHExitWindowsEx 1 Und schon fahren beide maschinen automatisch runter -------------------- |
Tekbaron |
Geschrieben am: Freitag, 21.September 2001, 13:53 Uhr
|
Leader Gruppe: [-bmb-]Admin Beiträge: 2385 Mitgliedsnummer.: 12 Mitglied seit: 2001-03-07 |
Also Damit man es versteht, alles was in Code steht muss auch so abgetippt werden, alles klar ?
Also Problem mit Kopieren, da Linux und Windows Text Dateien jeweils anders interpretieren, kann es da probleme geben. Und zwar fügt Windows ein CRLF hinter jede Zeile ein, und das mag Linux garnet. Und genau das ist das Problem, wenn man die Datei koppiert sieht Sie vieleicht vollkommen in Ordnung aus iss aber für Linux doch vollkommen unbrauchbar. Martin war CRLF richtig oder doch nur CR ?? -------------------- |
Martin |
Geschrieben am: Freitag, 21.September 2001, 16:42 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hi !
Oh, schön, Text in spitzen Klammern entfällt komplett ! Nett ! Die erste Zeile lautet: #include {spitze Klammer auf} stdio.h {spitze Klammer zu} Hmmmmpffffff ! -------------------- Bis dann Martin
|
Martin |
Geschrieben am: Montag, 24.September 2001, 11:08 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hi Leute !
Wegen des Löschens der CR-Zeichen habe ich noch etwas gefunden: Meine SuSE-Distribution liefert das Programm "duconv". -------------------- Bis dann Martin
|
Tekbaron |
Geschrieben am: Donnerstag, 20.September 2001, 10:00 Uhr
|
Leader Gruppe: [-bmb-]Admin Beiträge: 2385 Mitgliedsnummer.: 12 Mitglied seit: 2001-03-07 |
Also ums so einfach wie möglich zu machen hier die genaue Anleitung.
Unter root auf dem Linux Rechner z.b. im Verzeichnis /root die Datei autohalt anlegen inhalt : Code Sample: #! /bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin # diese Datei wird von Windows erzeugt: ausloeser=/home/ice/remoteshutdown if [ -f $ausloeser ]; then rm -f $ausloeser logger -p syslog.notice -- "Automatic Shutdown" shutdown -h now fi mit chmod 700 /root/autohalt Die Datei ausführbar machen mit crontab -e in die Crontab dieses einfügen: Code Sample: * * * * * test -e /home/ice/remoteshutdown || /root/autohalt Auf dem Windows Rechner eine Batch Datei anlegen mit dem Inhalt: Code Sample: rem >\\linux\ice\remoteshutdown Und diese mit einer verkünpfung auf dem Desktop aufrufen. Diese Anleitung ist nicht für Frank sonder für die die sich noch garnet mit Linux auskennen Ausserdem wollte ich mal Testen ob das mit dem Code jetzt geht -------------------- |
Martin |
Geschrieben am: Freitag, 21.September 2001, 16:35 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hallo Leute !
Genau ! Windows: CR und LF (ASCII-Codes 13 und 10) Unix/Linux: nur LF Und wenn man nun per Maus-Copy-and-Paste das Programm von einem Fenster (z.B. Browser) unter Windows kopiert und dann in einem Linux-Fenster einfügt, kommen eben die CR-Zeichen in die Linux-Kiste. Diese Zeichen sind unter Linux eben keine Format-Steuercodes sondern werden als normaler Text gewertet. Und dann is Essig ! Falls das Problem öfter auftritt (Datei Windows->Linux kopieren), hier ein kleines Hilfsprogramm: ************* Dateianfang **************** #include main() { int c; while (!feof(stdin)) if ((c = getchar()) != 13) putchar©; } ************* Dateiende ****************** Datei speichern als "removeCR.c". Dann übersetzen mit gcc -o removeCR removeCR.c Dann hat man ein lauffähiges Programm, welches auf Standardeingabe liest und jedes Zeichen AUSSER CR (ASCII-Code 13) auf Standardausgabe wieder ausgibt. Ist also "WinCopy" eine per Maus von Windows nach Linux kopierte Datei, so hilft: removeCR < WinCopy > Wincopy_ohne_CR Zur Syntax: Das Zeichen < sorgt dafür, daß der Inhalt der Datei WinCopy in die Standardeingabe des Programms gefüttert wird. Entsprechend leitet > die Standardausgabe in die Datei WinCopy_ohne_CR. Dabei wird eine bereits bestehende Datei dieses Namens überschrieben. Will man anhängen, so muß man anstelle > dann >> benutzen. Diese Operatoren führen die sog. Kanalumleitung aus (engl. "redirection" s. man-page der bash). Wichtig für obiges Kommando (und auch allgemein): Nicht die gleiche Datei für Standardein- und -ausgabe verwenden. Sicher könnte man den Kram auch mit irgendeinem Editor machen. Da könnt Ihr selbst etwas die Anleitungen lesen. -------------------- Bis dann Martin
|
Frank |
Geschrieben am: Dienstag, 18.September 2001, 17:27 Uhr
|
Rampage Gruppe: [-bmb-]Rootserver Beiträge: 695 Mitgliedsnummer.: 2 Mitglied seit: 2001-03-07 |
Hi Jungs - erst einmal heißen Dank für die Erklärungen zum 'Autostart' unter Windows! Werde ich, sobald ich mal Zeit dazu habe probieren.
Nun aber zum Thema: Ich schalte meinen Linux-Rechner meistens via Telnet d.h. vom Windoof Rechner aus aus. (Tolle Formulierung ?!?) Gibt es da eine Möglichkeit, den ganzen Vorgang mit einloggen, su - befehl + Admin-Passwort und schließlich runterfahren von Linux in ein Script zu packen, dass ich mit einem Klick ausführen könnte ? Bzw. gibt es eine Möglichkeit, den Linux-Rechner mit einer batch-datei herunterzufahren, ohne dass ich vorher Admin-Rechte erlange bzw. mich als Root anmelde ? Fragen über Fragen ... -------------------- |
Martin |
Geschrieben am: Freitag, 21.September 2001, 13:38 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hallo Leute !
Also in der CRON-Tab frage ich mit test -x /root/autohalt ab, ob diese Datei existiert und ausführbar ist. Falls ja, dann wird der nächste Ausdruck auch noch ausgewertet, da die Logisch-UND-Konstruktion (mit &&) dann noch wahr werden kann. Dabei wird dann das Programm /root/autohalt ausgeführt. In dem Programm /root/autohalt wird die Auslösedatei definiert. Dann wird nachgeschaut, ob sie existiert: if [ -f $ausloeser ]; then ... Falls ja, so wird sie gelöscht, der Eintrag ins Syslog gemacht und der Shutdown eingeleitet. D.h. die Existenz der Auslöserdatei wird IM SKRIPT geprüft, die Existenz und Ausführbarkeit des Skriptes IN DER CRONTAB. Frank, zu Deinem Anzeigeproblem der letzten Message: Gib mal ein (direkt am Prompt): ls /home/ice/.bashrc Gibt es eine Ausgabe ? Falls ja, dann muß folgendes (auch direkt am Prompt) auch eine Ausgabe produzieren: test -e /home/ice/.bashrc && echo "JA" und zwar den String JA. Sonst ist wirklich was merkwürdig mit Deinem Rechner ;) Vielleicht fehlen ja auch ein paar Leerzeichen im Programm. Ich tippe das Programm hier nochmal und ersetze alle Leerzeichen durch _ (alle diese Leerzeichen sind Pflicht !) ************** Dateianfang *************** #!_/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin # diese Datei wird von Windows erzeugt: ausloeser=/var/tmp/remoteshutdown-toggle if_[_-f_$ausloeser_];_then rm_-f_$ausloeser logger_-p_syslog.notice_--_"Remote Shutdown invoked" shutdown_-h_now fi ***************** Dateiende ********************* Habt Ihr das Programm per Maus zwischen Windows und Linux kopiert ??? Dann habt Ihr Euch Steuerzeichen eingefangen, die alles durcheinanderbringen (wie bei dem Mailfilter neulich, Jörg). Also: Programm ABTIPPEN ! -------------------- Bis dann Martin
|
Tekbaron |
Geschrieben am: Freitag, 21.September 2001, 17:35 Uhr
|
Leader Gruppe: [-bmb-]Admin Beiträge: 2385 Mitgliedsnummer.: 12 Mitglied seit: 2001-03-07 |
Hallo Martin bevor du dich Schwarz ärgerst, genau für so einen Fall gibt es den Button Code, 1 mal drücken code beginnt code eingeben nochmal drücken code ende, dann sieht das genau so aus wie meine postings und der Programm code wird richtig dargestellt !!!!
Beispiel: Code Sample: :) {} :D :angry: Und lies mal bitte den Thread Mülleimer !!!! -------------------- |
Tekbaron |
Geschrieben am: Mittwoch, 19.September 2001, 09:44 Uhr
|
Leader Gruppe: [-bmb-]Admin Beiträge: 2385 Mitgliedsnummer.: 12 Mitglied seit: 2001-03-07 |
Hey,
Also da müssen wir jetzt mal Teamarbeit machen Die möglichkeit die mir vorschwebt ist: Windows Rechner erzeugt eine Datei auffen Linux Rechner, per cron schaut linux nach ob die Datei da ist wenn ja löschen und shutdown -h now ausführen, wenn nicht programm ohne aktion beenden. Hallo Martin wie muss das perl script dazu aussehen ? Datei erzeugen unter win iss ganz einfach, nur einen link auf desktop machen in dem steht: rem >\\linuxrechner\freigabe\datei -------------------- |
Frank |
Geschrieben am: Freitag, 21.September 2001, 13:48 Uhr
|
Rampage Gruppe: [-bmb-]Rootserver Beiträge: 695 Mitgliedsnummer.: 2 Mitglied seit: 2001-03-07 |
Ah so !! Wenn ich am Prompt test -e ... eingebe muss ich nach echo den Text´eingeben, den er mir auswerfen soll ?
Naja, dann ist es ja kein Wunder, dass er bei mri nix angezeigt hat Ich hatte den Post von Jörg so gedeutet, das der Text nach dem echo die Ausgabe ist, die er mir anschließend anzeigt. So ein 'Fernunterricht' ist halt echt schwierig für Lehrer und Schüler Jetzt klappt es ja endlich. Vielen Dank an Euch zwei für die Mühe und Geduld!! Aber warum soll ich das alles immer abtippen, MArtin ? Man kann den Text ja aus dem Forum in eine Datei kopieren, die man mit dem Windoof Notepad auf dem Linux-Rechner erzeugt. Dann halt noch die Zugriffsrechte passend machen und fertig ist die Kiste ! Nur dumm, wenn man dann anfängt den Text nachträglich zu verändern, wenn man keine Ahnung hat ... Asche auf mein Haupt ! -------------------- |
Martin |
Geschrieben am: Mittwoch, 19.September 2001, 17:42 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hallo Jörg und Frank !
Nachdem ich durch Jörgs Mailfilter wieder Training für Shell-Programmierung erhalten habe :-), würde ich das wie folgt machen: ***************** Dateianfang ********************* #! /bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin # diese Datei wird von Windows erzeugt: ausloeser=/var/tmp/remoteshutdown-toggle if [ -f $ausloeser ]; then rm -f $ausloeser logger -p syslog.notice -- "Automatic Shutdown" shutdown -h now fi ******************* Dateiende ********************** Diese Datei könnte man z.B. speichern als (nur als root): /usr/sbin/remoteshutdown Dann (weiter als root) chmod 700 /usr/sbin/remoteshutdown Falls die Datei nicht als root erzeugt wurde, dann: chown root:root /usr/sbin/remoteshutdown Jetzt in die CRON-Tabelle eintragen. Dazu (immer noch als root) mit dem Lieblingseditor folgende Datei laden: /etc/crontab Darin folgende Zeile anfügen: * * * * * root test -e /usr/sbin/remoteshutdown || /usr/sbin/remoteshutdown Jetzt testet CRON zu Beginn jeder Minute, ob besagte Datei vorliegt. Soll dieser Test nur alle x Minuten stattfinden (nur x <= 30 sinnvoll), dann das erste "*" in der neuen Zeile ersetzen durch "*/x" mit entsprechender Zahl für x. Happy Shutdowning ... :-) Martin -------------------- Bis dann Martin
|
Martin |
Geschrieben am: Freitag, 21.September 2001, 16:40 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hallo Leute !
Ach, dieses Ikon-board kennt aber viele Sonderzeichen ! So wird aus ( c ) doch glatt © Also: in meinem kleinen Programm der letzten Message heißt es natürlich putchar ( c ); und nicht putchar©; Hmpf ! -------------------- Bis dann Martin
|
Frank |
Geschrieben am: Freitag, 21.September 2001, 12:56 Uhr
|
Rampage Gruppe: [-bmb-]Rootserver Beiträge: 695 Mitgliedsnummer.: 2 Mitglied seit: 2001-03-07 |
Na da habe ich Euch wohl eine echte Kopfnuss vorgeleget ...
Leider funzt es bei mir nicht. Auch wenn ich test -e /home/ice/.bashrc && echo eingebe, erhalte ich keine Rückmeldung ?? Wenn Crontab remoteshutdown findet, meldet er nur /bin/sh: /root/autohalt: bad interpreter: No such file or directory Ich kann allerdings auch die Datei autohalt nicht manuell ausführen, dabei erhalte ich ebenfalls die bad interpreter Fehlermeldung. Was ist denn hier falsch bei mir ?? -------------------- |
Martin |
Geschrieben am: Freitag, 21.September 2001, 08:23 Uhr
|
KillingSpree Gruppe: [-bmb-]Points Beiträge: 130 Mitgliedsnummer.: 5 Mitglied seit: 2001-06-19 |
Hallo Jörg !
Mir fiel noch etwas auf. Das Ganze dürfte so noch nicht funktionieren, weil ich einen falschen Logik-Operator benutzt habe. (Man sollte nicht so einfach etwas aus einer anderen Distribution übernehmen :-| Außerdem will ich noch etwas verbessern (Abfragekriterium) und in Deinem Code-Sample fehlte die Nutzer-ID, mit der der CRON-Job ausgeführt werden soll (root). Der Eintrag in der CRON-Tabelle sollte lauten: * * * * * root test -x /root/autohalt && /root/autohalt So sollte es klappen. -------------------- Bis dann Martin
|
Seiten:12 |