¿Cómo puedo descargar automáticamente varios sitios a través de Coda?

Tengo varios sitios en Coda que me gustaría volver a descargar automáticamente cuando se lo indique. Los sitios se administran en colaboración y me gustaría descargar una copia nueva de los sitios automáticamente. Estoy abierto a AppleScripting, un flujo de trabajo de Automator, un script de shell, una combinación de los tres o cualquier otra cosa que sugiera. ¿Cómo haría para hacer esto?

Editar: ¿Puedo escribir un script de shell para descargar todo el sitio a través de FTP, luego copiarlo en mi carpeta "Sitios" y sobrescribir los datos existentes? Necesito poder hacerlo para más de un sitio, por lo que necesito una forma de pasar el nombre de dominio, el usuario, la contraseña y el directorio al que quiero que se copie.

¿Habría un sistema de control de código fuente (CVS, SVN, Git, Mercurial) ayudando en este sitio web "administrado en colaboración"?
@VxJasonxV No, es un marco personalizado.
Buena pregunta @VxJasonxV. Si usó SVN, por ejemplo, las actualizaciones serían fáciles, además de que obtiene el beneficio de que sus colaboradores no sobrescriban sus actualizaciones al azar. ¡Es el camino a seguir!
@Anthony Realmente solo quiero escribir un script Applescript/Shell para hacerlo. Sé que se puede hacer, simplemente no tengo el conocimiento de secuencias de comandos para saber cómo hacerlo.

Respuestas (1)

Puede usar fácilmente wget para esto y escribirlo de la forma que desee. Aquí hay un ejemplo rápido de cómo podría usarlo para descargar y sobrescribir uno de sus sitios en una línea:

wget ~/Sites/domain/ ftp://[username]:[password]@ftp.example.com/www/

Entonces, para hacer varios sitios web, usaría:

wget -P ~/Sites/ -i sites.txt

Y su archivo de texto podría verse así:

ftp://username:password@ftp.site1.com/www/
ftp://username:password@ftp.site2.com/www/
ftp://username:password@ftp.site3.com/www/

Desde la página de manual de wget:

Recursive download:
  -r,  --recursive          specify recursive download.
  -l,  --level=NUMBER       maximum recursion depth (inf or 0 for infinite).
       --delete-after       delete files locally after downloading them.
  -k,  --convert-links      make links in downloaded HTML or CSS point to
                            local files.
  -K,  --backup-converted   before converting file X, back up as X.orig.
  -m,  --mirror             shortcut for -N -r -l inf --no-remove-listing.
  -p,  --page-requisites    get all images, etc. needed to display HTML page.
       --strict-comments    turn on strict (SGML) handling of HTML comments.

Recursive accept/reject:
  -A,  --accept=LIST               comma-separated list of accepted extensions.
  -R,  --reject=LIST               comma-separated list of rejected extensions.
  -D,  --domains=LIST              comma-separated list of accepted domains.
       --exclude-domains=LIST      comma-separated list of rejected domains.
       --follow-ftp                follow FTP links from HTML documents.
       --follow-tags=LIST          comma-separated list of followed HTML tags.
       --ignore-tags=LIST          comma-separated list of ignored HTML tags.
  -H,  --span-hosts                go to foreign hosts when recursive.
  -L,  --relative                  follow relative links only.
  -I,  --include-directories=LIST  list of allowed directories.
  --trust-server-names             use the name specified by the redirection
                                   url last component.
  -X,  --exclude-directories=LIST  list of excluded directories.
  -np, --no-parent                 don't ascend to the parent directory.
¡Fresco! ¿Cómo podría pasar dominios, ~/Sitios/dominio, usuarios y contraseñas?
Puede crear un archivo de texto que los maneje todos. (respuesta actualizada)
No tengo tiempo ahora para probar esto, pero cuando lo haga, te lo haré saber. ¡Muchas gracias!
seguro. es muy sencillo hacer lo que quieras; cualquier cambio en la sintaxis sería menor.
Solo está descargando index.html. ¿Cómo descargo todas las carpetas y los archivos que contienen?
poner y -r en los argumentos para recuperar archivos recursivamente; también puede usar -l 1 para bajar un nivel, por ejemplo. wget / Opciones de recuperación recursiva
¡Impresionante! Lo intentaré cuando tenga la oportunidad. ¡Muchas gracias!
No hay problema; avíseme si tiene más preguntas, estaré feliz de ayudar.
Tengo una pregunta más (espero que sea solo una). ¿Cómo descargo solo ciertas carpetas/archivos? Está descargando todo , incluidos los archivos de registro y otros archivos invisibles.
@daviesgeek, cuando dijiste '¿Puedo escribir un script de shell para descargar todo el sitio?' Supuse que lo querías todo. ¿Quiere solo archivos específicos o carpetas específicas? Puede profundizar en directorios más específicos especificándolos después de /www/"me gusta" /www/path/to/file/. ¿Es eso lo que quieres decir? He incluido algunos wgetargumentos en mi respuesta original que deberían ayudar.