Я запустил установленный cygwin с openssh, rysnc и cron. Я запустил cygserver-config и cron-config
cygcheck -c | grep cron
cron 4.1-65 OK
cygrunsrv -Q cron
Service : cron
Current State : Running
Controls Accepted : Stop
Command : /usr/sbin/cron -n
. Windows распознала службу в правильном пользовательском контексте.
Нет ошибок в журналах событий Windows, cron или cygserver. Многие ресурсы в Интернете настаивают на использовании cron-config вместо
cygrunsrv -I cron -p / usr / sbin / cron -a -D
или cygrunsrv -I cron -p / usr / sbin / cron --args -n
. Я пробовал все три. Кажется, что все установлено правильно с помощью cron-config, но задания cron не работают.
вот пример моего crontab (да, он настроен на запуск каждую минуту для целей отладки!)
crontab -l
* * * * * rsync -avz -e "ssh -i /cygdrive/c/users/path/.ssh/id_rsa" foo.bar@ssh-target.com:/var/log/path/ /cygdrive/c/destination/path/ --progress
ОБНОВЛЕНИЕ:
похоже, что cron теперь запущен и делает записи в журнале событий Windows. К сожалению, теперь я сталкиваюсь с ошибками выполнения и контекста.
Внутри crontab вы всегда должны запускать команды с полным путем; для rsync это должно быть
/ usr / bin / rsync
Он не настроен на запуск каждую минуту
* * * * * rsync -avz -e "ssh -i /cygdrive/c/users/path/.ssh/id_rsa" foo.bar@ssh-target.com:/var/log/path/ /cygdrive/c/destination/path/ --progress
Это действительно настроен на запуск каждую минуту
*/1 * * * * rsync -avz -e "ssh -i /cygdrive/c/users/path/.ssh/id_rsa" foo.bar@ssh-target.com:/var/log/path/ /cygdrive/c/destination/path/ --progress