Anda juga perlu menginstal cygrunsrv
sehingga Anda dapat mengatur cron sebagai layanan windows, lalu jalankan cron-config
.
Jika Anda ingin cron job mengirim email dari keluaran apa pun, Anda juga harus menginstal salah satu exim
atau ssmtp
(sebelum menjalankan cron-config
.)
Lihat /usr/share/doc/Cygwin/cron-*.README
untuk lebih jelasnya.
Mengenai program tanpa .exe
ekstensi, mereka mungkin adalah skrip shell dari beberapa jenis. Jika Anda melihat baris pertama file, Anda dapat melihat program apa yang perlu Anda gunakan untuk menjalankannya (mis., " #!/bin/sh
"), Jadi Anda mungkin dapat mengeksekusinya dari windows scheduler dengan memanggil program shell (mis., " C:\cygwin\bin\sh.exe -l /my/cygwin/path/to/prog
". )
can't switch user context
meskipun permintaan eksplisit dibuat TIDAK untuk menggunakan akun lain. Beralih akun dengan cron di cygwin tampaknya WAJIB. Anda harus mengatakan TIDAK untuk menjalankan sebagai diri Anda sendiri ...cronevents
perintah untuk melihat kejadian (dari jendela evengs log). Mereka tidak pernah dibuang, saya akan memangkas batangnya setiap beberapa bulan.Anda memiliki dua pilihan:
Instal cron sebagai layanan windows, menggunakan cygrunsrv:
File 'non .exe' mungkin adalah skrip bash, jadi Anda dapat menjalankannya melalui penjadwal windows dengan menjalankan bash untuk menjalankan skrip, misalnya:
sumber
tip topi http://linux.subogero.com/894/cron-on-cygwin/
Mulai setup cygwin dan tambahkan paket "cron" dari kategori "Admin".
Kami akan menjalankan cron sebagai layanan oleh SISTEM pengguna. SISTEM yang buruk karenanya membutuhkan direktori home dan shell. File "/ etc / passwd" akan mendefinisikannya.
Memulai layanan:
Pengguna lokal sekarang dapat menentukan tugas terjadwal mereka seperti ini (crontab akan memulai editor favorit Anda):
Pengguna domain : tidak berfungsi. Cron yang buruk tidak dapat menjalankan tugas terjadwal atas nama pengguna domain di mesin. Tetapi ada cara lain: cron juga menjalankan hal-hal yang ditemukan di tabel cron level sistem di "/ etc / crontab". Jadi masukkan suff Anda di sana, sehingga SYSTEM melakukannya atas namanya sendiri:
Akhirnya beberapa kata tentang entri crontab. Mereka adalah pengaturan lingkungan atau perintah terjadwal. Seperti yang terlihat di atas, di Cygwin yang terbaik adalah membuat PATH yang dapat digunakan. Home dir dan shell biasanya diambil dari “/ etc / passwd”.
Mengenai kolom dari perintah terjadwal lihat halaman manual.
Jika entri crontab tertentu tidak berjalan, alat diagnostik terbaik adalah ini:
sumber
Hanya ingin menambahkan bahwa opsi ke cron sepertinya telah berubah. Perlu melewati -n, bukan -D.
sumber
Menerapkan instruksi dari jawaban ini dan berhasil. Hanya untuk menunjukkan lebih banyak copy paste seperti jawaban (karena prosedur instalasi cygwin adalah jenis anti-copy-paste yang diterapkan)
Klik tombol WinLogo, ketik cmd.exe, klik kanan, pilih " Mulai Sebagai Administrator ". Dalam prompt cmd :
Pastikan penginstal tidak menampilkan kesalahan apa pun di prompt ... Jika ada - Anda mungkin menjalankan beberapa binari cygwin atau Anda bukan admin Windows, atau beberapa bug aneh ...
Sekarang di cmd promt:
atau jalur file lengkap apa pun yang Anda miliki ke cygrunsrv.exe dan mulai cron sebagai layanan windows di prompt cmd
Sekarang di terminal bash jalankan crontab -e
mengatur Anda cron entri contoh di bawah ini:
sumber
Saya menemukan cara agar layanan cron Cygwin berjalan secara otomatis ketika saya masuk ke Windows 7. Inilah yang berhasil untuk saya:
Menggunakan Notepad, buat file
C:\cygwin\bin\Cygwin_launch_crontab_service_input.txt
dengan kontenno
di baris pertama danyes
baris kedua (tanpa tanda kutip). Ini adalah dua tanggapan Anda terhadap petunjuk untukcron-config
.Buat file
C:\cygwin\Cygwin_launch_crontab_service.bat
dengan konten:Tambahkan Pintasan berikut ini di folder Startup Windows:
Cygwin_launch_crontab_service.bat
Lihat http://www.sevenforums.com/tutorials/1401-startup-programs-change.html jika Anda memerlukan bantuan tentang cara menambahkan ke Startup. BTW, Anda dapat menambahkan ini secara opsional di Startup jika Anda ingin:
Cygwin
Server XWin
Yang pertama dijalankan
dan yang kedua dieksekusi
sumber
Sintaks yang benar untuk menginstal cron di cygwin sebagai layanan Windows adalah dengan meneruskan -n sebagai argumen dan bukan -D :
cygrunsrv --install cron --path / usr / sbin / cron --args -n
-D mengembalikan kesalahan penggunaan saat memulai cron di cygwin:
$
$ cygrunsrv --install cron --path / usr / sbin / cron --args -D
$ cygrunsrv --mulai cron
cygrunsrv: Kesalahan memulai layanan: QueryServiceStatus: Win32 error 1062:
Layanan belum dimulai.
$ cat /var/log/cron.log
cron: opsi tidak diketahui - D
penggunaan: / usr / sbin / cron [-n] [-x [ext, sch, proc, parc, load, misc, test, bit]]
$
Halaman di bawah ini memiliki penjelasan yang bagus.
Menginstal & Mengonfigurasi Layanan Cygwin Cron di Windows: https://www.davidjnice.com/cygwin_cron_service.html
PS Saya harus menjalankan Terminal Cygwin64 pada PC Windows 10 saya sebagai administrator untuk menginstal cron sebagai layanan Windows.
sumber
sumber