Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript Rechnerpflege
windozer
18.11.2008, 12:18
Hallo,
es würde mich eigtl. wundern, wenn niemand so was vorher gemacht hat, also frag ich erst mal, eh ich mich da abracker:
Ich möchte ein Skript bauen (im WSH oder auch anders, ist mir eigtl. egal), das ich nachts laufen lassen kann, um bestimmte regelmäßig anfallende Wartungsaufgaben zu erledigen, die tagsüber zu viel Zeit brauchen.
Konkret soll das Skript:
- Dateien aus einem best. Verzeichnis (falls da welche sind) auf eine externe Platte kopieren, die ich halt vorher anstecke
- Ccleaner (oder was ähnliches) laufen lassen, um Platz zu schaffen
- Eine Defragmentierung durchführen (ohne Prüfung)
- Ein Backup auf eben der externen Platte machen (dafür hab ich momentan WDSync, das war halt auf der Platte drauf und ist sehr komfortabel, aber ich nehm auch eine Alternative)
Dabei soll natürlich Schritt2 erst anlaufen, wenn Schritt1 fertig ist usw. Wenn alles durch ist, soll der Rechner runtergefahren werden.
Kann mir da jemand einen Tip geben? Ich hab noch gar keine Erfahrung mit dem WSH, ich hab bisher nur in Linux einfache Shell-Skripte geschrieben.
Vielen Dank!
Gruß,
Windozer
warum haste das denn nicht bereits unter linux mit cronjobs realisiert ?! anstatt das immer müßig über die shell zu machen... :confused: :blush
bislang wüsste ich unter win auch nur die möglichkeit, ein skript (ne batchdatei) zu verfassen, mit welchem du die verschiedenen *exe mit mit den gewünschten parametern versiehst, das du dann über den aufruf der batch datei ausführen kannst... (like a cronjob kannste den start ja dann auch mit dem taskplaner zb planen)...
wäre aber auch an 'anderen' möglichkeiten zur automatisierung interessiert... hehe... :aah
windozer
18.11.2008, 13:08
Hallo wolf76,
in Linux ist Rechnerpflege so wie bei Windows nicht wirklich nötig, deshalb hab ich das noch nicht gemacht.
Die Möglichkeit, die Du im zweiten Absatz beschreibst, wär eigtl. genau das, was ich im Sinn habe.
Die verschiedenen *.exe zu starten ist kein Problem, das kann ich sogar schon schreiben. Es bleiben noch folgende Hürden:
- Das mit dem Kopieren aus einem Verzeichnis weiß ich noch gar nicht, welche Befehle ich da brauch
- CCleaner kann ich zwar aus der Kommandozeile starten, ich brauch dann aber noch einen Klick auf "Run"
- Bei Defrag brauch ich ebenfalls einen Klick auf "Run"
- Bei WDSync ist es noch etwas komplizierter, da bräuchte ich ein Passwort und wahrsch. mehrere Klicks, das hat ein recht ausgefeiltes GUI.
Gruß,
Windozer
Konkret soll das Skript:
- Dateien aus einem best. Verzeichnis (falls da welche sind) auf eine externe Platte kopieren, die ich halt vorher anstecke
- Ccleaner (oder was ähnliches) laufen lassen, um Platz zu schaffen
- Eine Defragmentierung durchführen (ohne Prüfung)
- Ein Backup auf eben der externen Platte machen (dafür hab ich momentan WDSync, das war halt auf der Platte drauf und ist sehr komfortabel, aber ich nehm auch eine Alternative)
Diese Schritte sind auf meinem (immer) gepflegten Rechner mit einem Doppelklick (nur defrag) fertig.
dein erster Punkt (batch-script mit robocopy beim runterfahren)
dein zweiter Punkt (ccleaner läuft beim booten mit = einstellung in ccleaner)
dein dritter Punkt (jkdefrag64 manuell, da nur alle 2-3 Monate notwendig)
dein vierter Punkt (siehe Punkt 1)
:cool
jup... da haste wohl recht...
ich benutze zwar ccleaner "manuell"... aber der rest der zb. bei mir eingesetzten programme sind soweit eh automatisiert, da bedarf es eigentlich keiner batchschreiberei mehr... (raxco perfect disk (1x wöch.;autom.),norton ghost (1x wöch.;autom.)) und halt ccleaner "nach bedarf"... so lübbts bei mir daheim... :D
und ich hab zb. die aktionen so geplant, das erst defragmentiert wird (raxco reinigt gleichzeitig auch die platte... sehr nice !!!) und danach (ne stunde später) läuft ghost an und zieht mein backup... gekostet hat mich die lösung rund 100 euro... also durchaus bezahlbar !!!
windozer
18.11.2008, 15:14
Hi,
@ MikeK,
vielen Dank für die Tips! Beim Booten oder Runterfahren möcht ich eigtl. nix als Standard ham, aus Zeit- und Performance-Überlegungen.
Ich will das alles als Skript quasi semi-manuell machen. Robocopy wurde mir schon von anderer Seite empfohlen. Das werd ich wohl so machen. Muß mir nur mal alle notwendigen Optionen überlegen. Kann ich denn damit auch emails speichern? Sicher, die müssen ja auch irgendwo liegen...
Wie kann ich denn Klicks simulieren (wenn der Fokus beim Öffnen eines Programms schon richtig liegt) bzw. Parameter wie ein Passwort mitgeben und dann den Klick auf OK simulieren (wenn der Fokus eben auf dem Passwortfeld liegt)?
@ wolf76,
nachdem ich dieses Skript für meinen Arbeitsrechner bauen will, will ich dafür keine 100 Klöten blechen. Mit dem Windows Task-Scheduler will ich das auch nicht machen, da ich eben die Option haben will, das zu jeder beliebigen Zeit starten zu können.
Gruß,
Windozer
Mittelfranke
18.11.2008, 15:34
Schau mal vielleicht hilft Dir Auto-It weiter!
http://www.autoitscript.com/autoit3/index.shtml
vielen Dank für die Tips! Beim Booten oder Runterfahren möcht ich eigtl. nix als Standard ham, aus Zeit- und Performance-Überlegungen.
Gerade da spielt Zeit keine Rolle. Ob der Rechner jetzt 5 Sekunden mehr braucht beim Booten oder Runterfahren spielt doch keine Rolle, aber ist deine Entscheidung.
Kann ich denn damit auch emails speichern? Sicher, die müssen ja auch irgendwo liegen
Die sollten doch abgespeichert sein (außerhalb des Mailclients). Ansonsten ist es die PST-Datei von Outlook
Wie kann ich denn Klicks simulieren (wenn der Fokus beim Öffnen eines Programms schon richtig liegt) bzw. Parameter wie ein Passwort mitgeben und dann den Klick auf OK simulieren (wenn der Fokus eben auf dem Passwortfeld liegt)?
kA bei WSH, da Scripte bei mir geblockt werden ;)
Bei Konsolenbefehlen gibts sowas nicht. Viele Programme unterstützen außerdem Kommandozeilenparameter die dir das ersparen. wie z.B. CCleaner mit Parameter /AUTO führt alles aus was eingestellt wurde.
Passwortfelder in Scripte zu übergeben ist mehr als unsicher!
Mit dem Windows Task-Scheduler will ich das auch nicht machen, da ich eben die Option haben will, das zu jeder beliebigen Zeit starten zu können.
Zwar nicht an mich gerichtet, aber dir scheint nicht zu helfen zu sein. Beim Booten willst du nichts, beim Herunterfahren willst du nichts, den Scheduler willst du nicht :confused: Ein bißchen viel "ich will nicht" :D
Kann dir wirklich nur empfehlen solche Programme (gibt es als Freeware) zu verwenden, die auch Parameter unterstützen.
Beispiel für eine cmd-Datei unter Vista/XP
@echo off
cls
REM Zuerst Platte ausmisten !
cmd /C "C:\PFAD ZU CCLEANER\CCleaner\CCleaner.exe /AUTO"
REM Jetzt Datensicherung machen (Spiegelung mit Robocopy)
robocopy "QUELLPFAD" "ZIELPFAD" /MIR
REM Jetzt zweite Datensicherung machen (externe Platte z.B.)
if not exist X:\ echo FESTPLATTE NICHT ANGESCHLOSSEN
pause
robocopy "QUELLPFAD" "ZIELPFAD" /MIR
REM Festplatte defragmentieren
cmd /K "C:\PFAD ZU JKDEFRAG\jkdefrag.exe C: D: E: F: G:"
echo.
echo FERTIG
Die blau markierten Teile müsstest du auf dein System anpassen !
windozer
18.11.2008, 16:04
Hi MikeK,
vielen Dank! Mehr wollte ich gar nicht. So eine cmd-Datei reicht mir völlig. Da kann ich bei Bedarf auch noch mehr sinnige Befehle reinhängen wie chkdsk und ein shutdown oder so am Ende. Ist denn damit automatisch gegeben, daß ein Befehl erst ganz abgearbeitet wird, bevor der nächste begonnen wird?
Daß ein Passwort in einem Skript unsicher ist, wär mir wurscht, da das Skript ja auf meinem eigenen Rechner in unserem nachts für gewöhnlich abgeschlossenen Büro läuft und ich nicht vorhabe, jemandem den Code bzw. das Passwort zu zeigen. Es müsste schon jemand in meinen Rechner einbrechen, um das zu klauen. Aber robocopy braucht eh keins - ist das dann sicherer? - damit geht das schon. Irgendwie verschlüsseln würde ich meine Sicherung aber schon gern, da das tw. sensible Unternehmensdaten sind.
@ Mittelfranke
Danke! Schau ich mir auch mal an.
Gruß,
Windozer
Ist denn damit automatisch gegeben, daß ein Befehl erst ganz abgearbeitet wird, bevor der nächste begonnen wird?
Nein, dafür müsstest du nach jedem Befehl eine pause einbauen außer bei robocopy-Befehlen, die arbeiten nach der Reihe.
Allerdings ist CCleaner so schnell, dass er Robocopy nicht stört weil ja ganz andere Bereiche der Platte bearbeitet werden.
Jkdefrag startet sicher erst NACH robocopy ... deshalb auch am Ende .... weil robocopy erst abgearbeitet werden muss bevor wieder ein Befehl ausgeführt wird. :)
Irgendwie verschlüsseln würde ich meine Sicherung aber schon gern
Dann muss der Zieldatenträger verschlüsselt sein. Dem Kopierbefehl ist das egal solange der Laufwerksbuchstabe passt.
Also z.B. die externe Platte mit Truecrypt verschlüsseln.
Warum benutzt man nicht den Taskplaner oder in Vista den Aufgabenplaner?
Der macht alles und Zeitgesteuert!
Warum benutzt man nicht den Taskplaner oder in Vista den Aufgabenplaner?
Der macht alles und Zeitgesteuert!
:blink weil er nicht will ;)
windozer
19.11.2008, 08:30
Hi MikeK,
vielen Dank! Ich denke, damit komm ich jetzt zurecht.
Nur noch eine letzte Frage: Wie könnte ich im Schadensfall eine mit robocopy und der MIR-Option hergestellte Sicherungskopie zurückspielen? Das sollte man ja vieleicht intelligenterweise testen...
@ GaxOely,
mit dem Taskplaner hab ich noch nie gearbeitet, ich mißtraue dem Ding. Außerdem kann ich nicht so generell sagen, ich will die Rechnerpflege immer dann und dann machen, sondern ich will das anstarten können, wann immer ich mag.
Gruß,
Windozer
P.S. @ MikeK
Ach ja - noch was: Was ist dieses jkdefrag - muß ich das erst installieren oder ist das vl. in diesem Resource Kit drin, wo auch robocopy drin ist?
Kann ich mit robocopy, ähnlich wie mit rsync, für den Quellpfad mehrere unterschiedliche angeben oder auf eine Textdatei verweisen, wo alle zu sichernden Verzeichnisse aufgeführt sind?
Nur noch eine letzte Frage: Wie könnte ich im Schadensfall eine mit robocopy und der MIR-Option hergestellte Sicherungskopie zurückspielen? Das sollte man ja vieleicht intelligenterweise testen...
Ist eine normale KOPIE, also genau umgekehrt ! ;)
JKDefrag ist ein eigenes Programm, welches du in WinBoard-Downloadbereich runterladen kannst. http://download.winboard.org/details.php?file=1400
Robocopy ist bei Vista inkludiert, bei XP brauchst du http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
Du kannst nicht mehrere Verzeichnisse auf einmal angeben, sondern machst einfach hintereinander mehrere robocopy befehle !
windozer
09.12.2008, 16:51
Hallo,
ich möchte dieses Thema hier noch mal wiederbeleben: Irgendwie hab ich immer noch - oder schon wieder - Probleme mit jkdefrag. Der Befehl, den ich momentan hab, ist
start "C:\Dokumente und Einstellungen\fhofmann.DABGMBH\Eigene Dateien\Eigene_Tools\JkDefrag-3.36\jkdefrag.exe"
Der funktioniert aber scheinbar nicht ganz. Der Befehl, den mir MikeK hier verraten hat, geht auch nicht ganz, ich krieg da die Meldung, daß der Befehl C:\Dokumente falsch geschrieben ist oder nicht gefunden wurde.
Außerdem würde ich gern noch ein paar kleine Verbesserungen am jkdefrag-Einsatz vornehmen:
- Ich würde gern auch die externe Platte defraggen, auf die nachher das Backup kommt
- Ich würde gern den Tip implementieren, vorher im abgesicherten Modus neuzustarten (das ist halt ein anderer Befehl in der *.bat) und das Swap-File temporär kleinzumachen (und nachher wieder größer). Den Virenscanner würd ich auch gern temporär deaktivieren, aber da frag ich meinen Admin, der hat ihn ja aufgespielt.
Kann mir da wer weiterhelfen?
Vielen Dank!
Gruß,
Windozer
windozer
10.12.2008, 08:13
Hi,
kleine Änderung zum vorigen Beitrag:
Der Befehl, den ich habe, um jkdefrag zu starten, funktioniert im Kontext meines Skripts sehr gut. Komischerweise funktioniert er nicht, wenn ich nur den Befehl in eine neue test.bat kopiere. Ich schreib hier mal den Befehl hin, vl. fällt wem was ein:
start "C:\Dokumente und Einstellungen\fhofmann.DABGMBH\Eigene Dateien\Eigene_Tools\JkDefrag-3.36\jkdefrag.exe"
Ich hab davor ein >sleep 5<, aber das dürfte ja eigtl. nix machen, oder?
Das mit dem Virenscanner ist wohl per Skript sehr schwierig. Das Neustarten lass ich auch mal, denn das würde ja voraussetzen, daß ich vorher alle Programme schließe und das hatten wir ja schon mal hier.
Damit würde ich bloß noch gern die externe Platte defraggen, auf die das Backup kommt.
Danke vielmals!
Gruß,
Windozer
windozer
18.12.2008, 13:46
Hi,
[vorneweg: Ich hab erst mit dieser Frage einen neuen Thread anfangen wollen, heißt >robocopy in TrueCrypt-Container?<]
Ich hab jetzt das Dateisystem der Platte in NTFS umgewandelt, hab mit TrueCrypt einen 10GB großen Container gemacht, wo meine Firmendaten drin sind. Wie muß ich jetzt den robocopy-Befehl anpassen? Das Volume wird ja zunächst auf der Platte nur als Datei angezeigt, ich muß es ja normal mounten. Müßte ich das dann im Skript auch machen?
Daß ich dazu mein Passwort im Skript hinterlegen müsste, ist nicht so das Problem, denn das Skript hab ich ja nur auf meinem Rechner und wenn einer meinen Rechner entschlüsselt hat und das Skript lesen kann, braucht er das Backup auf der externen Platte nicht.
Danke vielmals!
Gruß,
Windozer