Musisz także zainstalować, cygrunsrv
aby móc skonfigurować cron jako usługę systemu Windows, a następnie uruchomić cron-config
.
Jeśli chcesz, aby crona aby wysłać e-mail z dowolnego wyjścia musisz również zainstalować albo exim
albo ssmtp
(przed uruchomieniem cron-config
).
Zobacz, /usr/share/doc/Cygwin/cron-*.README
aby uzyskać więcej informacji.
Jeśli chodzi o programy bez .exe
rozszerzenia, są to prawdopodobnie skrypty powłoki pewnego typu. Jeśli spojrzysz na pierwszą linię pliku, zobaczysz, jakiego programu potrzebujesz do ich uruchomienia (np. „ #!/bin/sh
”), Więc być może możesz wykonać je z harmonogramu systemu Windows, wywołując program powłoki (np. „ C:\cygwin\bin\sh.exe -l /my/cygwin/path/to/prog
”. )
can't switch user context
mimo że wyraźnie zażądano, aby NIE używać innych kont. Zmiana konta za pomocą crona na cygwin jest najwyraźniej OBOWIĄZKOWA. Musisz powiedzieć NIE bieganiu jako siebie ...cronevents
polecenia, aby wyświetlić zdarzenia (z dziennika evengs systemu Windows). Nigdy ich nie wyrzucamy, ciąłbym kłody co kilka miesięcy.Masz dwie możliwości:
Zainstaluj crona jako usługę systemu Windows, używając cygrunsrv:
Pliki `` inne niż .exe '' to prawdopodobnie skrypty bash, więc możesz je uruchomić za pomocą harmonogramu systemu Windows, wywołując bash w celu uruchomienia skryptu, np:
źródło
wskazówka dotycząca kapelusza http://linux.subogero.com/894/cron-on-cygwin/
Uruchom cygwin-setup i dodaj pakiet „cron” z kategorii „Admin”.
Uruchomimy crona jako usługę przez użytkownika SYSTEM. Dlatego słaby SYSTEM potrzebuje katalogu domowego i powłoki. Plik „/ etc / passwd” będzie je definiować.
Uruchom usługę:
Lokalni użytkownicy mogą teraz definiować swoje zaplanowane zadania w ten sposób (crontab uruchomi twój ulubiony edytor):
Użytkownicy domeny : to nie działa. Słaby cron nie może uruchamiać zaplanowanych zadań w imieniu użytkowników domeny na komputerze. Ale jest inny sposób: cron uruchamia również rzeczy znalezione w tabeli cron na poziomie systemu w „/ etc / crontab”. Więc wstaw tam swój plik, aby SYSTEM zrobił to we własnym imieniu:
Na koniec kilka słów o wpisach crontab. Są to ustawienia środowiska lub zaplanowane polecenia. Jak widać powyżej, na Cygwin najlepiej jest utworzyć użyteczną ścieżkę PATH. Katalog domowy i powłoka są zwykle pobierane z „/ etc / passwd”.
Jeśli chodzi o kolumny zaplanowanych poleceń, zobacz stronę podręcznika.
Jeśli niektóre wpisy crontab nie działają, najlepszym narzędziem diagnostycznym jest:
źródło
Chciałem tylko dodać, że opcje crona wydają się zmieniać. Należy przekazać -n zamiast -D.
źródło
Zastosowałem instrukcje z tej odpowiedzi i zadziałało Tylko po to, aby wskazać bardziej kopiuj wklej jak odpowiedź (ponieważ procedura instalacji Cygwin jest pewnego rodzaju zaimplementowaną
metodą zapobiegania kopiowaniu i wklejaniu) Kliknij przycisk WinLogo, wpisz cmd.exe, kliknij go prawym przyciskiem myszy, wybierz " Uruchom jako administrator ”. W zachęcie cmd :
Upewnij się, że instalator nie zgłasza żadnych błędów w monicie ... Jeśli tak - prawdopodobnie masz uruchomione pliki binarne Cygwin lub nie jesteś administratorem systemu Windows lub jakiś dziwny błąd ...
Teraz w cmd promt:
lub jakąkolwiek pełną ścieżkę do pliku cygrunsrv.exe i uruchom cron jako usługę Windows w wierszu polecenia cmd
Teraz w terminalu bash uruchom crontab -e
Skonfiguruj wpis w cronie, przykład poniżej:
źródło
Dowiedziałem się, jak sprawić, by usługa Cygwin cron działała automatycznie po zalogowaniu się do systemu Windows 7. Oto, co zadziałało:
Za pomocą Notatnika utwórz plik
C:\cygwin\bin\Cygwin_launch_crontab_service_input.txt
z zawartościąno
w pierwszej iyes
drugiej linii (bez cudzysłowów). To są twoje dwie odpowiedzi na monitycron-config
.Utwórz plik
C:\cygwin\Cygwin_launch_crontab_service.bat
z zawartością:Dodaj skrót do następujących elementów w folderze Autostart systemu Windows:
Cygwin_launch_crontab_service.bat
Zobacz http://www.sevenforums.com/tutorials/1401-startup-programs-change.html jeśli potrzebujesz pomocy dotyczącej dodawania do Startup. BTW, możesz opcjonalnie dodać je w Startup, jeśli chcesz:
Cygwin
Serwer XWin
Pierwsza jest wykonywana
a druga jest wykonywana
źródło
Prawidłowa składnia do zainstalowania crona w cygwin jako usłudze systemu Windows to przekazanie -n jako argumentu, a nie -D :
cygrunsrv --install cron --path / usr / sbin / cron --args -n
-D zwraca błąd użycia podczas uruchamiania crona w cygwin:
$
$ cygrunsrv --install cron --path / usr / sbin / cron --args -D
$ cygrunsrv --start cron
cygrunsrv: Błąd podczas uruchamiania usługi: QueryServiceStatus: Błąd Win32 1062:
Usługa nie została uruchomiona.
$ cat /var/log/cron.log
cron: nieznana opcja - D
użycie: / usr / sbin / cron [-n] [-x [ext, sch, proc, parc, load, misc, test, bit]]
$
Poniższa strona ma dobre wyjaśnienie.
Instalacja i konfiguracja usługi Cygwin Cron w systemie Windows: https://www.davidjnice.com/cygwin_cron_service.html
PS Musiałem uruchomić terminal Cygwin64 na moim komputerze z systemem Windows 10 jako administrator, aby zainstalować cron jako usługę Windows.
źródło
źródło