Чтобы использовать rsync
я создал скрипт Bash. Он отлично работает из 32-разрядной оболочки Cygwin в Win 7, но не работает при запуске из планировщика задач Win 7. Мой скрипт Task Scheduler прост:
c:\cygwin\bin\bash.exe -l -c "/home/user/rsync_Windows_Backup >> /home/user/Documents_cron.log 2>&1"
Начальный каталог для задания установлен в C:\Cygwin\bin
.
Мой сценарий Bash представляет собой типичный rsync [options] SRC DEST
и некоторые другие вспомогательные функции.
Команда rsync
в моем скрипте Bash rsync_Windows_Backup
:
/bin/time -f "\nElapse (hh:mm:ss.ss) %E" \
rsync.exe -ravuz --copy-links "$SRC" "$DEST" >> "$LOG" \
2 >> "$LOG"
Я тестировал скрипт из командной строки Cygwin. Работает как положено, т.е.
$ ./rsync_Windows_Backup - succeeds.
Однако заданию планировщика задач не удается определить, что он не может найти папку DEST, на которую ссылается сценарий Bash. Когда я делаю cd DEST
из командной строки BASH, папка становится доступной и может быть записана в нее.
Я должен добавить еще некоторые детали, отправитель - это рабочий стол Win 7, который сопоставлен с приемником рабочего стола Vista с отображением диска J:
. Сценарий Bash делает начать , но не с:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: mkdir "/cygdrive/J/DocumentsBackup" failed: No such file or directory (2) rsync error: error in file IO (code 11)
Я могу удалить первую ошибку, изменив конфигурацию на Windows 7 на вкладке «Общие» свойств планировщика заданий. Я не могу понять, почему mkdir
не видит долю J:
Чтобы проверить подключение к локальной сети, я также использовал net use J: \\server\share
. Он подключается нормально и позволяет перечислять и писать, и т.д.
Когда я запускаю же задача планировщика заданий в Windows Vista он работает нормально.
Это какая-то более мелкая проблема NTLM или другая проблема с разрешениями на Win 7? Я в тупике на данный момент.