2009-10-13 11 views
0

Tout d'abord, j'ai le plus grand respect pour les programmeurs & professionnels de l'informatique. Je suis un newby/wanna-be. Je cherche de l'aide pour développer un petit programme/script qui m'aide dans la tâche que j'ai décrite ci-dessous. Je ne soumets pas cela comme devoir. Ceci est lié au travail, mais je ne vous demande pas de faire mon travail. Je prends cela comme une opportunité d'en apprendre plus sur la programmation en faisant une tâche que j'ai besoin de faire. Tout code que vous pourriez fournir sera utile, mais je suis très intéressé par les concepts de base, les étapes et vos conseils sur la meilleure façon d'aborder cette tâche (quels outils, langage, etc.)Newby question: comment écrire un programme/script pour copier automatiquement des répertoires sur un ordinateur distant?

XP Voici ce que j'ai: XP machines (locales et distantes) quelques connaissances de base des fichiers batch Un petit peu d'expérience avec Visual Basic 2008 express Un petit peu de C++ expérience (et ont le compilateur blocs de code)

Voici ce que je veux faire:

Chaque lundi à vendredi, je veux une machine hors site (n ° 1) que je vais configurer et qui peut accéder à 1. réveille d'hibernate 2. copie (ou xcopy) un répertoire (\ Server \ remoteBackup) avec tout son contenu d'une machine sélectionnée (# 2) au bureau (qui sera activé) via une connexion ftp ou internet à la machine hors site (C: \ remoteBackup) 3. Placez un fichier "successfulCopy.txt" sur une autre machine sélectionnée (# 3) (\ machine3 \ log). Chaque fichier "successfulCopy.txt" doit vérifier si existe "successfulCopy.txt" et si c'est le cas, renommer le nouveau "successCopy (2) .txt" ou autre. 4. retourner en veille prolongée (soit à la fin d'une minuterie)

Ceci est fondamentalement un système de sauvegarde à distance. Quelles sont vos pensées? Toutes les idées que vous fournissez seraient plus utiles si vous les nommez d'une manière que je pourrais Google votre réponse pour en savoir plus si j'ai d'autres questions. J'apprécie toute aide que vous pouvez fournir. Je veux faire ceci parce que JE VEUX faire ceci et pour aucune autre raison.

Répondre

1

# 1 Eh bien ... Planifier le travail dans la partie Tâches de votre Panneau de configuration fera l'affaire.

# 2 xcopy a plusieurs options comme/S et/Q etc. et il y en a même une pour ne prendre que les nouveaux fichiers. Comme je n'ai plus de Windows, je ne peux pas vérifier actuellement. xcopy supporte les chemins UNC mais ftp ne fonctionne pas si j'ai raison. Vous pouvez essayer d'écrire dans un emplacement en utilisant la notation ftp://user:[email protected]:port/folder/file.txt

# 3 un fichier peut être créé en utilisant echo "" > successfulCopy.txt, et les fonctions/caractéristiques existantes du fichier doivent également exister dans Windows-Shell.

# 4 Hibernate peut être obtenu en appelant le shutdown.exe avec des paramètres spéciaux. Ici vous pouvez voir une liste de paramètres en tapant shutdown /? dans une fenêtre cmd. Cela signifie qu'un fichier Windows .bat est suffisamment suffisant pour effectuer votre travail. Peut-être que vous voulez l'écrire dans VB-Script, cela prendrait plus de travail mais devrait le faire aussi bien.

bonne chance.

2

C'est le genre de chose pour laquelle rsync a été conçu. Vous pouvez installer cygwin (How to install Cygwin with Rsync). Ensuite, vous pouvez démarrer le planificateur "cron" (How to start cron in Cygwin), et il devrait être facile comme tarte ... Pour les valeurs de tarte où la personne de la tarte est expérimenté dans tout cela, malheureusement. D'accord, si vous êtes intéressé, vous pouvez faire ce qui précède, mais ce n'est pas sympathique débutant, je dois admettre.

Vous pouvez probablement faire le tout avec un fichier batch: pas besoin de beaucoup dans les langages de programmation actuels. J'utiliserais quelque chose comme 7zip pour empaqueter les répertoires ... 7zip est une ligne de commande conviviale, et a une fonction de "mise à jour", qui pourrait vous faire gagner beaucoup de temps en permettant des "sauvegardes" incrémentielles. Puis, une fois que vous avez le fichier, vous pouvez utiliser un programme FTP en ligne de commande (comme WinSCP) pour envoyer le fichier où vous le souhaitez. Rassemblez les deux et vous obtiendrez un fichier de traitement par lots de 2 lignes, bien que vous ayez toujours à réveiller la machine.

0

Dans le passé, j'ai utilisé l'utilitaire Windows: robocopy. Mais maintenant vous pouvez utiliser Google Drive.