Новый вопрос: как я могу написать программу / скрипт для автоматического копирования каталогов на удаленный компьютер? - PullRequest
0 голосов
/ 14 октября 2009

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

Вот что у меня есть: XP машины (локальные и удаленные) Некоторые базовые знания о пакетных файлах Небольшой опыт работы с Visual Basic 2008 Express Немного опыта C ++ (и компилятор Code Blocks)

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

Каждую пн-пт в полночь я хочу удаленную машину (# 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 ваш ответ, чтобы узнать больше, если у меня возникнут дополнительные вопросы. Я ценю любую помощь, которую вы можете оказать. Я хочу сделать это, потому что Я ХОЧУ сделать это, и ни по какой другой причине.

Ответы [ 3 ]

2 голосов
/ 14 октября 2009

Это то, для чего была создана rsync . Вы можете установить cygwin ( Как установить Cygwin с Rsync ). Затем вы можете запустить планировщик "cron" ( Как запустить cron в Cygwin ), и это должно быть просто, как пирог ... Для значений пирога, где пирог испытан во всем этом, к несчастью. Хорошо, если вам интересно, вы можете сделать выше, но это не новичок, я должен признать.

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

Затем, когда у вас есть файл, вы можете использовать дружественную FTP-программу для командной строки (например, WinSCP ), чтобы отправить файл туда, куда вам нравится. Соедините их вместе, и вы получите пакетный файл из 2 строк, хотя вам все равно придется разбудить машину.

1 голос
/ 14 октября 2009

# 1 Ну ... Планирование работы в Tasks-части панели управления будет хорошо.

# 2 xcopy имеет несколько опций, таких как / S и / Q и т. Д., И есть даже одна для получения только новых файлов. Поскольку у меня больше нет Windows, я не могу сейчас проверить. xcopy поддерживает UNC-пути, но ftp не работает, если я прав. Вы можете попытаться записать в местоположение, используя обозначение ftp://user:pass@ftp.host.com:port/folder/file.txt

# 3 файл может быть создан с использованием echo "" > successfulCopy.txt, и существующие в файле функции / возможности должны также существовать в Windows-Shell.

# 4 Hibernate может быть достигнут путем вызова shutdown.exe со специальными параметрами. Здесь вы можете увидеть список параметров, набрав shutdown /? в cmd-окне.

Это означает, что .bat-файла windows достаточно для вашей работы. Может быть, вы захотите написать это на VB-Script, это займет немного больше работы, но также должно быть выполнено.

удачи.

0 голосов
/ 16 мая 2012

В прошлом я использовал утилиту Windows: robocopy. Но теперь вы можете использовать Google Drive.

...