Назад | Перейти на главную страницу

Новый вопрос: как автоматизировать копирование файлов на удаленный компьютер?

Во-первых, я очень уважаю программистов и ИТ-специалистов. Я новичок / хочу быть. Мне нужна помощь в разработке небольшой программы / сценария, которые помогут мне с задачей, которую я подробно описал ниже. Я НЕ отправляю это как домашнее задание. Это связано с работой, но я НЕ прошу вас выполнять мою работу. Я использую это как возможность узнать больше о программировании, выполнив задачу, которая мне нужна. Любой код, который вы можете предоставить, будет полезен, но меня очень интересуют основные концепции, шаги и ваши советы о том, как лучше всего решать эту задачу (какие инструменты, язык и т. Д.)

Вот что у меня есть: машины XP (локальные и удаленные)

Вот что я хочу сделать:

Каждую пн-пт в полночь мне нужен внешний компьютер (№1), который я настрою и к которому я могу получить доступ

  1. Просыпаться из спящего режима
  2. Скопируйте (или xcopy) каталог (\ Server \ remoteBackup) со всем его содержимым с выбранного компьютера (# 2) в офисе (который будет включен) через ftp-соединение или Интернет на внешний компьютер (C: \ remoteBackup)
  3. Поместите файл «SuccessCopy.txt» на другой выбранный компьютер (№3) (\ machine3 \ log). Каждый файл «SuccessCopy.txt» должен проверять, существует ли «SuccessCopy.txt», и если да, переименовать новый в «SuccessCopy (2) .txt» или что-то еще.
  4. Вернитесь в режим гибернации (по завершении или по таймеру)

По сути, это система удаленного резервного копирования. Что ты думаешь? Любые идеи, которые вы предложите, будут наиболее полезны, если вы назовете их таким образом, чтобы я мог найти ваш ответ в Google, чтобы узнать больше, если у меня возникнут дополнительные вопросы. Я ценю любую помощь, которую вы можете оказать. Я хочу сделать это, потому что ХОЧУ сделать это, а не по какой-либо другой причине.

Я написал большой пост, и, клянусь, я его опубликовал, и все же ... Хммм.

Вам захочется сделать какое-то архивирование: это сделает вашу жизнь намного проще. Я рекомендую 7zip; это бесплатная zip-утилита с мощным интерфейсом командной строки. Очень легко написать однострочную команду 7zip для архивации и сжатия всего дерева каталогов, и она также поддерживает опцию «обновления» для архивов, поэтому вместо того, чтобы каждый раз упаковывать каждый файл, он может просто обновлять измененные файлы. .Это сэкономит массу времени.

Получив архив, вы захотите куда-нибудь его отправить. Я рекомендую WinSCP; это бесплатный клиент FTP / SFTP, который также имеет хорошую поддержку командной строки / сценариев. Интерфейс сценариев там довольно мощный.

Соедините их вместе, и вы сможете написать простой командный файл DOS для выполнения необходимых команд. Быстро, просто и эффективно.

Постарайтесь избежать соблазна изобретать велосипед. Это отличный урок. Есть люди, которые уже потратили много времени на сборку частей, которые вы можете использовать.

Не могу помочь вам со стороной гибернации, но для копирования файлов загляните в scp и логин на основе ключа.

Чтобы сохранить старые версии файла успешной копии, вы должны иметь возможность использовать ssh для выполнения команд на удаленном конце.

Вы также можете изучить cygwin; это даст вам ssh и bash что может облегчить выполнение того, что вы хотите.

Существуют и другие, более эффективные методы, но вот список простых идей, которые не требуют особых знаний или опыта:

  1. Как правило, вы можете настроить параметры питания в BIOS, чтобы вывести машину из спящего режима в определенное время, часто обозначаемые как «Настройки сигнала тревоги».
  2. Вместо того, чтобы копировать или копировать, загляните в Robocopy. Он гораздо более гибкий и чрезвычайно надежный (отсюда и «роботизированная» часть названия) и может возобновлять прерванные передачи.
  3. Robocopy может создать файл журнала, но вам нужно будет проверить его на наличие сообщения об ошибке (Perl идеально подходит для этого)
  4. Загляните в shutdown.exe

Это не совсем то, о чем вы просите, но я бы просто использовал одну из многих доступных программ копирования файлов. Я сам использую вторую копию.

  1. Разбудить локальную машину - запланировать задачу (любую задачу) на этой машине, чтобы разбудить ее. Подробнее на - https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6073491.html

  2. Сценарий FTP должен быть создан либо на исходной (mput), либо на конечной (mget) машинах и вызываться с помощью запланированной задачи. Вы можете найти образцы сценариев FTP в Интернете. Фактически, вы можете запланировать FTP-клиент GUI для этого, сохранив в нем задание.

  3. Можно сделать с помощью приведенного выше скрипта / ftp-клиента.

  4. вы можете запланировать "shutdown.exe -h" или "psshutdown.exe -h" для этого.

Включите все вышеперечисленное в пакетный файл, который запускается с помощью одной запланированной задачи, для удобства.

hth's

Вы также можете изучить rsync для своей задачи. Он часто используется для удаленного резервного копирования деревьев каталогов.