none
Автоматическое копирование папки по рассписанию

    Вопрос

  • Добрый всем день.

    Есть задача следующего рода. Необходимо с конкретной папки локального компьютера скопировать файлы на папку общего доступа, при этом должно происходит по рассписанию, без вмешательства пользователя. в случае дупликации просто напросто не копировать.

    как это можно зделать?

    5 марта 2013 г. 7:09

Ответы

  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    как я понял нужно зделать .bat файл используя эти команды?


    Не требуется создавать bat файл,можно сразу указать путь к программе C:\Windows\system32\Robocopy.exe ,а в поле аргументы источник назначение /MIR.

    Если я все верно понял команда выходжит так?

    C:\Windows\system32>robocopy C:\Program Files (x86)\ETKA\VWAU\DATA\VW \\fs02\share Disk\ETKA

    robocopy "C:\Program Files (x86)\ETKA\VWAU\DATA\VW" "\\fs02\share Disk\ETKA" /MIR

    • Изменено KazunEditor 5 марта 2013 г. 8:21
    • Помечено в качестве ответа dkarapetian 5 марта 2013 г. 8:26
    5 марта 2013 г. 8:20
    Отвечающий
  • Спасибо всем кто помогал! я также в интернете нашел скрипт для PowerShell усли кому понадобится:

    # Change these values $SourceFolder = "C:\SourceFolder" $DestinationFolder = "C:\DestinationFolder" $Logfile = "C:\Robocopy.log" $EmailFrom = "michel.stevelmans@domain.com" $EmailTo = "michel.stevelmans@domain.com" $EmailBody = "Robocopy completed successfully. See attached log file for details" $EmailSubject = "Robocopy Summary" $SMTPServer = "smtp.domain.com" $SMTPPort = "25" # Copy Folder with Robocopy Robocopy $SourceFolder $DestinationFolder /E /ZB /R:1 /W:1 /PURGE /LOG:$Logfile /NP # Send E-mail message with log file attachment $Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody) $Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain') $Message.Attachments.Add($Attachment) $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort) $SMTPClient.Send($Message)

    • Помечено в качестве ответа dkarapetian 5 марта 2013 г. 9:47
    5 марта 2013 г. 9:00

Все ответы

  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    5 марта 2013 г. 7:33
    Отвечающий
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом
    5 марта 2013 г. 7:47
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    5 марта 2013 г. 7:55
    Отвечающий
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    как я понял нужно зделать .bat файл используя эти команды?

    5 марта 2013 г. 7:59
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    как я понял нужно зделать .bat файл используя эти команды?


    Не требуется создавать bat файл,можно сразу указать путь к программе C:\Windows\system32\Robocopy.exe ,а в поле аргументы источник назначение /MIR.
    5 марта 2013 г. 8:01
    Отвечающий
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    как я понял нужно зделать .bat файл используя эти команды?


    Не требуется создавать bat файл,можно сразу указать путь к программе C:\Windows\system32\Robocopy.exe ,а в поле аргументы источник назначение /MIR.

    Если я все верно понял команда выходжит так?

    C:\Windows\system32>robocopy C:\Program Files (x86)\ETKA\VWAU\DATA\VW \\fs02\share Disk\ETKA

    5 марта 2013 г. 8:19
  • 1) robocopy source dest /mir

    2) Создать задание в Планировщике задач

    не могли бы более детально описать про 1) robocopy source dest /mir я если честно не селен в этом

    ROBOCOPY источник назначение /MIR

    Источник:: Исходная папка (диск:\путь или \\сервер\общий ресурс\путь).
    Назначение :: Конечная папка (диск:\путь или \\сервер\общий ресурс\путь).

    /MIR :: Создать зеркало дерева папок (эквивалентно /E  с /PURGE).

    Более подробно robocopy /?

    как я понял нужно зделать .bat файл используя эти команды?


    Не требуется создавать bat файл,можно сразу указать путь к программе C:\Windows\system32\Robocopy.exe ,а в поле аргументы источник назначение /MIR.

    Если я все верно понял команда выходжит так?

    C:\Windows\system32>robocopy C:\Program Files (x86)\ETKA\VWAU\DATA\VW \\fs02\share Disk\ETKA

    robocopy "C:\Program Files (x86)\ETKA\VWAU\DATA\VW" "\\fs02\share Disk\ETKA" /MIR

    • Изменено KazunEditor 5 марта 2013 г. 8:21
    • Помечено в качестве ответа dkarapetian 5 марта 2013 г. 8:26
    5 марта 2013 г. 8:20
    Отвечающий
  • Прекрасно! все работает если запускать ожно разово а если нужно выполнить однов ременно с нескольких папок?

    можно ли как нибудьт в один файл все создать команды и указать что нужно копировать и потом запускать его по рассписанию?

    5 марта 2013 г. 8:28
  • Прекрасно! все работает если запускать ожно разово а если нужно выполнить однов ременно с нескольких папок?

    можно ли как нибудьт в один файл все создать команды и указать что нужно копировать и потом запускать его по рассписанию?

    Тогда проще будет создать bat файл и поместить туда команды:

    robocopy .... #1

    robocopy .... #2

    robocopy .... #3

    5 марта 2013 г. 8:35
    Отвечающий
  • Спасибо всем кто помогал! я также в интернете нашел скрипт для PowerShell усли кому понадобится:

    # Change these values $SourceFolder = "C:\SourceFolder" $DestinationFolder = "C:\DestinationFolder" $Logfile = "C:\Robocopy.log" $EmailFrom = "michel.stevelmans@domain.com" $EmailTo = "michel.stevelmans@domain.com" $EmailBody = "Robocopy completed successfully. See attached log file for details" $EmailSubject = "Robocopy Summary" $SMTPServer = "smtp.domain.com" $SMTPPort = "25" # Copy Folder with Robocopy Robocopy $SourceFolder $DestinationFolder /E /ZB /R:1 /W:1 /PURGE /LOG:$Logfile /NP # Send E-mail message with log file attachment $Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody) $Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain') $Message.Attachments.Add($Attachment) $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort) $SMTPClient.Send($Message)

    • Помечено в качестве ответа dkarapetian 5 марта 2013 г. 9:47
    5 марта 2013 г. 9:00
  • Спасибо всем кто помогал! я также в интернете нашел скрипт для PowerShell усли кому понадобится:

    # Change these values $SourceFolder = "C:\SourceFolder" $DestinationFolder = "C:\DestinationFolder" $Logfile = "C:\Robocopy.log" $EmailFrom = "michel.stevelmans@domain.com" $EmailTo = "michel.stevelmans@domain.com" $EmailBody = "Robocopy completed successfully. See attached log file for details" $EmailSubject = "Robocopy Summary" $SMTPServer = "smtp.domain.com" $SMTPPort = "25" # Copy Folder with Robocopy Robocopy $SourceFolder $DestinationFolder /E /ZB /R:1 /W:1 /PURGE /LOG:$Logfile /NP # Send E-mail message with log file attachment $Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody) $Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain') $Message.Attachments.Add($Attachment) $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort) $SMTPClient.Send($Message)

    Вот есть зада использовать этот скрипт для нескольких одновременно копирования файла, что нужно добавить или изменить чтоб оно заработало?

    5 марта 2013 г. 12:17
  • для нескольких одновременно копирования файла, что нужно добавить или изменить чтоб оно заработало?

    Опишите подробно, как вы это видите.

    6 марта 2013 г. 2:27
  • для нескольких одновременно копирования файла, что нужно добавить или изменить чтоб оно заработало?

    Опишите подробно, как вы это видите.

    Не знаю на сколько я вижу но задача стоит в этом:

    "C:\Program Files (x86)\ETKA\VWAU\DATA\VW" "\\fs02\share Disk\ETKA\VW"

    "C:\Program Files (x86)\ETKA\VWAU\DATA\AU" "\\fs02\share Disk\ETKA\AU"

    "C:\Program Files (x86)\ETKA\SKODA\DATA\SK" "\\fs02\share Disk\ETKA\SK"

    при этом отправка на мыло будет плюсом для статистики при использовние команды robocopy , отправка на мыло не поддреживаетсяи вот поэтому подумал о скрипте PowerShell

    6 марта 2013 г. 11:11
  • Есть ли у кого нибудь еще идеии??
    11 марта 2013 г. 6:51
  • $Logfile = "C:\Robocopy.log"
    $EmailFrom = "michel.stevelmans@domain.com"
    $EmailTo = "michel.stevelmans@domain.com"
    $EmailBody = "Robocopy completed successfully. See attached log file for details"
    $EmailSubject = "Robocopy Summary"
    $SMTPServer = "smtp.domain.com"
    $SMTPPort = "25"

    robocopy "C:\Program Files (x86)\ETKA\VWAU\DATA\VW" "\\fs02\share Disk\ETKA\VW"/E /ZB /R:1 /W:1 /PURGE /LOG+:$Logfile /NP

    robocopy "C:\Program Files (x86)\ETKA\VWAU\DATA\AU" "\\fs02\share Disk\ETKA\AU" /E /ZB /R:1 /W:1 /PURGE /LOG+:$Logfile /NP

    robocopy "C:\Program Files (x86)\ETKA\SKODA\DATA\SK" \\fs02\share Disk\ETKA\SK /E /ZB /R:1 /W:1 /PURGE /LOG+:$Logfile /NP

    # Send E-mail message with log file attachment
    $Message = New-Object Net.Mail.MailMessage($EmailFrom, $EmailTo, $EmailSubject, $EmailBody)
    $Attachment = New-Object Net.Mail.Attachment($Logfile, 'text/plain')
    $Message.Attachments.Add($Attachment)
    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, $SMTPPort)
    $SMTPClient.Send($Message)

    11 марта 2013 г. 7:01
    Отвечающий
  • Добрый день. А как скопировать файлы за последнюю неделю а не все разом?
    21 декабря 2018 г. 11:15
  • Ты очень помог! Спасибо тебе) Я смог в диспетчере заданий реализовать резервное копирование обменника между двумя серверами по расписанию.

    robocopy "\\10.10.8.2\Obm" "\\10.32.8.211\Backup" /MIR

    где 10.10.8.2 - сервер с обменником, а Obm - раздел с информацией (Например, если локальный диск C:\\, тогда пишем просто C. В моем случае это локальный диск Obm...)

    10.32.8.211 - сервер, где будет расположен бекап, а Backup - раздел с зарезервированной информацией)


    • Изменено ndrnesterov 12 февраля 2019 г. 10:58 Пояснение для чайников
    12 февраля 2019 г. 10:53