Thread View: es.comp.os.linux.programacion
4 messages
4 total messages
Started by Shake
Thu, 02 Oct 2008 12:33
BASH Script para backup via FTP
Author: Shake
Date: Thu, 02 Oct 2008 12:33
Date: Thu, 02 Oct 2008 12:33
62 lines
2484 bytes
2484 bytes
Saludos, El proveedor de servicios donde tengo alojado un Servidor con Debian ofrece un servicio de FTP par backups. Para usarlo, estoy usando los scripts que ofrece, pero quiero hacer una modificacion que, aunque deberia de ser algo sencillo no consigo. La idea es la siguiente: Si bien para facilitar las cosas el proveedor te sugiere que uses tar para enviar solo tgz, yo ademas quiero poder crear directorios cuando sea necesario. El proveedor ofrece en sus ejemplos unos scripts que te meten siempre los archivos en la raiz de tu espacio ftp. No he encontrado comandos FTP que me puedan ayudar a: - Saber si ya existe un directorio - Crear una "cadena de directorios" al estilo 'mkdir -p /a/b/c' Asi que mi intencion es conseguir un script tal que /subir-ftp.sh /a/b/c archivo 1 se conecte al ftp (solucionado) 2 genere /a/b/c si no existen 3 Suba el archivo (solucionado) Mi idea original era hacer el punto 2 desde el lado FTP pero no veo el modo y empiezo a pensar que seria mejor hacerlo desde mi lado. coger el directorio, descomponerlo, y ejecutar el mkdir en FTP Algo asi como: para /a/b/c que mande los comando ftp mkdir /a mkdir /a/b mkdir /a/b/c cd /a/b/c put archivo cd / esto daria por un lado errores aunque supongo que, pasable a pesar de no elegante, cuando algun directorio ya existiera. Y por otro lado, hay algun comando o funcion en bash que me sea util para eso? he estado dandole alguna vueltas a usar sed para "descomponer" el directorio, pero aqui algo recursivo me iria bien. Hay alguna funcion parecida al split() de Perl? O si hay algun modo desde el FTP y no pre-tratando los datos... Muchas gracias ;) -- Shake (Alex Estevez)
Re: BASH Script para backup via FTP
Author: Cayetano Lupenna [NR]
Date: Thu, 02 Oct 2008 13:56
Date: Thu, 02 Oct 2008 13:56
29 lines
1490 bytes
1490 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola Shake Escribes: > El proveedor de servicios donde tengo alojado un Servidor con Debian > ofrece un servicio de FTP par backups. > Siento no poder ayudarte en la pregunta concreta que planteas. Sin embargo tambien realizo backups via FTP (para ciertos servidores no tengo otro modo). Utilizo "mirrordir" puedes echarle un vistazo y tal vez resuelva el problema que planteas. Un saludo - -- Cayetano Lupe�a http://www.cayetano.org/eha/ http://eha.boj.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) iD8DBQFI5NMVPAlzKiFYmEkRArZuAJ4yvVjyqVV2JoO6wQidYlcYX3syqgCfZhHo FzvYRl3UGkOiuDSjYXtb2bw= =EpsN -----END PGP SIGNATURE-----
Re: BASH Script para backup via FTP
Author: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 02 Oct 2008 14:45
Date: Thu, 02 Oct 2008 14:45
56 lines
2150 bytes
2150 bytes
Hola Shake <alex.estevezNOSPAM@filnet.es>
el Thu, 02 Oct 2008 14:33:25 +0200 escribiste:
> Algo asi como: para /a/b/c
>
> que mande los comando ftp
>
> mkdir /a
> mkdir /a/b
> mkdir /a/b/c
> cd /a/b/c
> put archivo
> cd /
>
> [...]
>
> Hay alguna funcion parecida al split() de Perl?
Puedes usar cut:
echo "/a/b/c" | cut -d/ -f2 # returns a
echo "/a/b/c" | cut -d/ -f3 # returns b
echo "/a/b/c" | cut -d/ -f4 # returns c
O directamente en bash:
cd /
DIR="/a/b/c"
while [ -n "$DIR" ] ; do
FIRST=${DIR#/}
FIRST=${FIRST%%/*}
mkdir $FIRST
cd $FIRST
DIR=${DIR#/$FIRST}
done
Eso generaría:
cd /
mkdir a
cd a
mkdir b
cd b
mkdir c
cd c
> O si hay algun modo desde el FTP y no pre-tratando los datos...
Ya te han comentado lo de mirrordir.
El programa rsync también te permite usarlo vía FTP, creo, con
la opción --rsh.
--
Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: BASH Script para backup via FTP
Author: Shake
Date: Fri, 03 Oct 2008 09:26
Date: Fri, 03 Oct 2008 09:26
19 lines
1270 bytes
1270 bytes
cat "Mensaje de Gonzalo P�rez de Olaguer C�rdoba" | sed s/^/^>\s/ > > Ya te han comentado lo de mirrordir. > Gracias a los dos, pues mirrordir ha sido la solucion, me ahorra hacer cosas "raras" y al ser mas sencillo, luego dara menos problema (espero). Ya lo tengo funcionando, la unica pega, es que no me borra los directorios del ftp cuando se quedan vacios, sino que da error. Supongo que usara delete en lugar rmdir o algo asi, pero no es nada que me preocupe. Saludos y gracias de nuevo. -- Shake (Alex Estevez)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads