So starten Sie Cron automatisch in WSL unter Windows 10 und 11

Eine Hand, die eine Stoppuhr hält.

Windows hat mehrere Möglichkeiten, Aufgaben zu automatisieren. Das gebräuchlichste Tool ist der Windows-Aufgabenplaner, aber wenn Sie das Windows-Subsystem für Linux (WSL) verwenden, gibt es auch den Cron-Daemon, der im Hintergrund Aufgaben für Ihre WSL-Installation ausführt.

Cron wird nicht standardmäßig ausgeführt

Unter Windows 10 und Windows 11 ist cron in Linux-Umgebungen wie Ubuntu enthalten. Das Problem ist, dass WSL Cron nicht automatisch startet, was bedeutet, dass Ihre automatisierten Aufgaben nicht standardmäßig ausgeführt werden.

Um dies zu beheben, könnten Sie Cron jedes Mal manuell starten, wenn Sie die Befehlszeile öffnen, aber das manuelle Starten eines Tools, das Aufgaben automatisieren soll, verfehlt den Punkt.

Glücklicherweise gibt es eine einfache Möglichkeit, dies zu beheben, und es erfordert die Verwendung des Taskplaners.

Ein Windows WSL-Terminalfenster, das anzeigt, dass Cron nicht ausgeführt wird.

Wenn Sie Cron unter Linux noch nie zum Ausführen von Aufgaben verwendet haben, lesen Sie unser vorheriges Tutorial zum Planen von Aufgaben unter Linux. Für unsere Zwecke hier gehen wir davon aus, dass Sie bereits einige Cron-Jobs in Ihrer WSL-Installation erstellt haben und Hilfe benötigen, um sicherzustellen, dass sie ausgeführt werden, anstatt ständig Cron zu babysitten.

Für dieses Tutorial verwenden wir sudo service um cron zu überprüfen und zu starten, was die empfohlene Methode zum Stoppen und Starten von Diensten in modernen Builds von Ubuntu ist – der beliebtesten Distribution für WSL.

Beachten Sie außerdem, dass in diesem Tutorial davon ausgegangen wird, dass Sie über Administratorrechte für Ihre WSL-Version verfügen. Wenn Sie der einzige Benutzer Ihres PCs sind und WSL selbst aktiviert haben, haben Sie Administratorrechte.

Trinkgeld: Dies funktioniert auch im Windows-Subsystem für Linux unter Windows 11, nicht nur unter Windows 10.

VERBUNDEN: So planen Sie Aufgaben unter Linux: Eine Einführung in Crontab-Dateien

Linux vorbereiten

Als erstes müssen wir dem Computer erlauben, cron ohne Passwort zu starten. Wenn Sie einen Dienst wie cron starten, verwenden Sie den Befehl sudo service cron start. Dieser Befehl erfordert jedoch ein Kennwort, auf das Windows beim Start keinen Zugriff hat. Um dies zu umgehen, deaktivieren Sie die Anforderung eines Kennworts für diesen Befehl.

Öffnen Sie dazu Ihr WSL-Terminalfenster und geben Sie ein sudo visudo. Drücken Sie die Eingabetaste auf Ihrer Tastatur, geben Sie Ihr Linux-Passwort ein und drücken Sie erneut die Eingabetaste. Wenn Sie Ubuntu verwenden, wird die Datei „sudoers“ mit dem anfängerfreundlichen Nano-Befehlszeilen-Texteditor geöffnet. Sudoers ist eine Datei für Systemadministratoren, die Berechtigungen und Zugriffsrechte für Benutzer ändern kann.

Fügen Sie den folgenden Befehl am Ende der sudoers-Datei hinzu und drücken Sie dann Strg+o, um die Datei zu speichern und Strg+x, um die Datei zu beenden.

%sudo ALL=NOPASSWD: /usr/sbin/service cron start

Dieser sudoers-Befehl besagt, dass jeder Benutzer, der über ausreichende Berechtigungen verfügt, um den sudo-Befehl zu verwenden (zu dem Sie gehören sollten), kein Passwort benötigt, um den Befehl auszuführen sudo service cron start, die den Cron-Daemon startet.

Nachdem Sie die Datei gespeichert haben, können Sie überprüfen, ob der Befehl seine Aufgabe erfüllt, indem Sie eingeben sudo service cron start, und es sollte cron starten, ohne nach einem Passwort zu fragen. Wenn das funktioniert hat, schalten wir Cron wieder aus, damit wir testen können, ob die Aufgabe, die wir im nächsten Schritt erstellen, ordnungsgemäß funktioniert. Führen Sie dazu bitte aus sudo service cron stop.

Cron im Windows Taskplaner einrichten

Das ist die erste Phase unserer Reise zur Cron-Automatisierung. Kommen wir zu Teil 2 mit dem Taskplaner. Tippen Sie auf die Windows-Taste auf der Tastatur und suchen Sie dann nach „Aufgabenplaner“. Starten Sie die Verknüpfung „Aufgabenplaner“.

Verwandt :  So ordnen Sie Windows mit Tastaturkürzeln unter Windows 10 neu an

Suchergebnisse in Windows 10 zeigen Taskplaner als Option an.

Wenn es gestartet wird, sehen Sie im Abschnitt „Aktionen“ nach und wählen Sie „Grundlegende Aufgabe erstellen“.

Taskplaner von Windows 10 mit einem roten Pfeil, der auf das zeigt "Einfache Aufgabe erstellen" Möglichkeit.

Dies öffnet den Assistenten für grundlegende Aufgaben. Zuerst werden Sie aufgefordert, die Aufgabe zu benennen und zu beschreiben. Hier können Sie eingeben, was Sie wollen. Wir haben die Aufgabe „Cron“ genannt und die Beschreibung lautet „Eine Aufgabe zum Starten von Cron beim Systemstart“. Klicken Sie nun auf „Weiter“.

Im folgenden Abschnitt kommen wir zur Sache. Zuerst möchte Windows wissen, wann wir die Aufgabe ausführen möchten. Wählen Sie das Optionsfeld „Wenn der Computer startet“ und klicken Sie auf „Weiter“.

Eine Reihe von Optionsfeldern in Windows 10 mit einem roten Pfeil, der auf die Option "Beim Starten des Computers" zeigt.

Im nächsten Abschnitt wollen wir „Ein Programm starten“. Diese Option ist standardmäßig ausgewählt, klicken Sie also auf „Weiter“.

Die Programmoptionen des Windows 10 Taskplaners mit roten Pfeilen, die auf den Programmpfad und dem Texteingabefeld für zusätzliche Argumente zeigen.

Jetzt müssen wir das Programm angeben, das wir ausführen möchten, nämlich WSL. Geben Sie in das Texteingabefeld „Programm/Skript“ Folgendes ein: C:WindowsSystem32wsl.exe

Wir müssen auch einige Argumente hinzufügen, da wir bisher nur WSL gestartet haben, aber innerhalb von WSL müssen wir Ubuntu anweisen, cron zu starten. Fügen Sie im Feld „Argumente hinzufügen“ Folgendes hinzu: sudo /usr/sbin/service cron start

Das letzte Aufgabenerstellungsfenster des Windows 10 Taskplaners mit einem roten Pfeil, der auf die Option zum Öffnen des Aufgabeneigenschaftenfensters nach Abschluss zeigt.

Klicken Sie noch einmal auf „Weiter“, aktivieren Sie das Kontrollkästchen „Eigenschaftendialogfeld öffnen, wenn ich auf Fertig stellen klicke“ und klicken Sie dann auf „Fertig stellen“.

Ein Windows-Task-Eigenschaftenfenster mit einem roten Pfeil, der auf die Option "Ausführen, ob Benutzer angemeldet ist oder nicht" zeigt.

Die Aufgabe ist erstellt, aber wir müssen noch einen letzten Schritt tun, um sicherzustellen, dass alles funktioniert. Ein neues Fenster wird geöffnet, das die Zusammenfassung der von Ihnen erstellten Aufgabe anzeigt, die jedoch nur ausgeführt wird, wenn Sie angemeldet sind. Wir müssen das Optionsfeld mit der Aufschrift „Ausführen, ob der Benutzer angemeldet ist oder nicht“ auswählen und dann auf „OK“ drücken.

Lassen Sie uns nun unsere Aufgabe auf zwei Arten testen. Scrollen Sie zunächst im Hauptfenster des Aufgabenplaners nach unten, bis Sie Ihren Aufgabennamen sehen. Wenn Sie den Namen „cron“ verwendet haben, sollte er oben in der Liste stehen. Klicken Sie mit der rechten Maustaste auf die Aufgabe und wählen Sie „Ausführen“.

Ein Terminalfenster, das anzeigt, dass Cron ausgeführt wird.

Gehen Sie dann zurück zu Ihrem WSL-Terminal und geben Sie ein sudo service cron status, und es sollte sagen, dass cron ausgeführt wird. Wenn dies nicht der Fall ist, überprüfen Sie, ob Sie in den vorherigen Schritten alles richtig eingegeben haben.

Wenn beim ersten Check alles richtig funktioniert hat, ist es Zeit für den großen Test. Starten Sie Ihren PC neu und wenn Sie zurückkommen, öffnen Sie ein WSL-Terminal und führen Sie es aus sudo service cron status, die melden sollte, dass cron jetzt ausgeführt wird.

Glückwünsche! Sie haben Ihren ersten Schritt in eine größere, automatisierte Welt getan. Wenn Cron im Hintergrund ausgeführt wird, werden die Cronjobs, die Sie in WSL konfigurieren, automatisch nach Zeitplan ausgeführt.

Verwandt :  Wann kommt Android 11 auf mein Handy und wie installiere ich es?
Moyens Staff
Moyens I/O-Personal. motivierte Sie und gab Ratschläge zu Technologie, persönlicher Entwicklung, Lebensstil und Strategien, die Ihnen helfen werden.