Re: [suse-linux-s] Mover/Copiar archivos usando variables
Mauricio Pellegrini escribió:
Gracias por el interes. Aqui abajo esta parte del mail enviados varias veces antes pero que parece ser rechazado por diversos motivos ( tal vez tenga que ver con el contenido )
Sebastian Ferro me sigirio utilizar comillas No lo estoy haciendo actualmente pero pienso que esa debe ser la causa Aunque como digo mas abajo este problema no se da con Gzip y/o con tar
----Mail original
Para eso estoy tomando la fecha y hora en una variable llamada t
t=`date +%Y%m%d_%H%M`
luego utilizo el comando mv de esta forma
mv /data/www/project/scripts/hrrg.sql.gz ./$t_hrrg.sql.gz
pero solo obtengo un archivo llamado .sql.gz en el directorio de destino el archivo es el original pero su nombre no es lo que se supone deberia ser p.ej 20040911_1247_hrrg.sql.gz en vez de eso obtengo solo .sql.gz como nombre.
En que me estoy equivocando
No te estas equivocando, pero el shell no logra determinar el final del nombre de tu variable, y cree que la variable se llama "t_hrrg" en lugar de "t". Por lo tanto, todo lo que debes hacer es delimitar el nombre de la variable, lo que por lo demas, es un habito que debieras adquirir aun cuando a veces no sea necesario, porque ademas de no presentar el problema que actualmente tienes, facilita la legibilidad del script. Lo que debes hacer es: export t=`date +%Y%m%d_%H%M` mv /data/www/project/scripts/hrrg.sql.gz ./${t}_hrrg.sql.gz De ese modo, tanto el shell como tu, siempre leeran $t Saludos LRP
Muchas Gracias On Tue, 2004-09-14 at 09:42, Luis Roa P. wrote:
Mauricio Pellegrini escribió:
Gracias por el interes. Aqui abajo esta parte del mail enviados varias veces antes pero que parece ser rechazado por diversos motivos ( tal vez tenga que ver con el contenido )
Sebastian Ferro me sigirio utilizar comillas No lo estoy haciendo actualmente pero pienso que esa debe ser la causa Aunque como digo mas abajo este problema no se da con Gzip y/o con tar
----Mail original
Para eso estoy tomando la fecha y hora en una variable llamada t
t=`date +%Y%m%d_%H%M`
luego utilizo el comando mv de esta forma
mv /data/www/project/scripts/hrrg.sql.gz ./$t_hrrg.sql.gz
pero solo obtengo un archivo llamado .sql.gz en el directorio de destino el archivo es el original pero su nombre no es lo que se supone deberia ser p.ej 20040911_1247_hrrg.sql.gz en vez de eso obtengo solo .sql.gz como nombre.
En que me estoy equivocando
No te estas equivocando, pero el shell no logra determinar el final del nombre de tu variable, y cree que la variable se llama "t_hrrg" en lugar de "t". Por lo tanto, todo lo que debes hacer es delimitar el nombre de la variable, lo que por lo demas, es un habito que debieras adquirir aun cuando a veces no sea necesario, porque ademas de no presentar el problema que actualmente tienes, facilita la legibilidad del script.
Lo que debes hacer es:
export t=`date +%Y%m%d_%H%M` mv /data/www/project/scripts/hrrg.sql.gz ./${t}_hrrg.sql.gz
De ese modo, tanto el shell como tu, siempre leeran $t
Saludos LRP
Buena trade para todos,
Tengo un Suse standar server version 8 y necesito utlizar PREROUTING para
hacer Destination NAT (DNAT), pero al añadir la regla esta no funciona, a
pesar de que tengo otra regla de PREROUTING pero para redireccion de
puertos.
Alguien sabe como habilitar el DNAT?
Gracias
Carlos Andres Giraldo Restrepo
----- Original Message -----
From: "Mauricio Pellegrini"
Muchas Gracias
On Tue, 2004-09-14 at 09:42, Luis Roa P. wrote:
Mauricio Pellegrini escribió:
Gracias por el interes. Aqui abajo esta parte del mail enviados varias veces antes pero que parece ser rechazado por diversos motivos ( tal vez tenga que ver con el contenido )
Sebastian Ferro me sigirio utilizar comillas No lo estoy haciendo actualmente pero pienso que esa debe ser la causa Aunque como digo mas abajo este problema no se da con Gzip y/o con tar
----Mail original
Para eso estoy tomando la fecha y hora en una variable llamada t
t=`date +%Y%m%d_%H%M`
luego utilizo el comando mv de esta forma
mv /data/www/project/scripts/hrrg.sql.gz ./$t_hrrg.sql.gz
pero solo obtengo un archivo llamado .sql.gz en el directorio de destino el archivo es el original pero su nombre no es lo que se supone deberia ser p.ej 20040911_1247_hrrg.sql.gz en vez de eso obtengo solo .sql.gz como nombre.
En que me estoy equivocando
No te estas equivocando, pero el shell no logra determinar el final del nombre de tu variable, y cree que la variable se llama "t_hrrg" en lugar de "t". Por lo tanto, todo lo que debes hacer es delimitar el nombre de la variable, lo que por lo demas, es un habito que debieras adquirir aun cuando a veces no sea necesario, porque ademas de no presentar el problema que actualmente tienes, facilita la legibilidad del script.
Lo que debes hacer es:
export t=`date +%Y%m%d_%H%M` mv /data/www/project/scripts/hrrg.sql.gz ./${t}_hrrg.sql.gz
De ese modo, tanto el shell como tu, siempre leeran $t
Saludos LRP
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Sistemas ADYLOG wrote:
Buena trade para todos,
Tengo un Suse standar server version 8 y necesito utlizar PREROUTING para hacer Destination NAT (DNAT), pero al añadir la regla esta no funciona, a pesar de que tengo otra regla de PREROUTING pero para redireccion de puertos.
Alguien sabe como habilitar el DNAT?
Gracias
Carlos Andres Giraldo Restrepo
Hola, Has secuestrado un poco el hilo anterior pero bueno, ten cuidado con eso. Yo te cuento como lo tengo yo ahora mismo en un equipo mio a ver si te sirve. # Generated by iptables-save v1.2.5 on Mon Mar 31 15:02:51 2003 *nat :PREROUTING ACCEPT [426032:31223976] :POSTROUTING ACCEPT [684150:36048108] :OUTPUT ACCEPT [1:60] *# Traslado de puertos para acceder a un Windows con Terminal Server en la ip **192.168.0.206* -A PREROUTING -d 192.168.0.205 -p tcp -m tcp --dport 3389 -j DNAT --to-destination* 192.168.0.206*:3389 -A POSTROUTING -o eth1 -j MASQUERADE COMMIT # Completed on Mon Mar 31 15:02:51 2003 # Generated by iptables-save v1.2.5 on Mon Mar 31 15:02:51 2003 *filter :INPUT ACCEPT [100:6200] :FORWARD ACCEPT [119:8725] :OUTPUT ACCEPT [60:6528] -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT COMMIT Otro detalle importante es esta linea en el fichero de arranque de las iptables echo 1 > /proc/sys/net/ipv4/ip_forward Este comando activa que se pueda hacer mascarado. No se como afecta al traslado de puertos pero como no tengas ese 1 en ese fichero no funciona nada. Espero que te sirva para algo Un saludo Emiliano Sutil
Este procedimiento ya lo he hecho de la siguiente forma:
iptables -t nat -A PREROUTING -d 192.168.0.131 -p tcp --dport 80 -j
DNAT --to 192.168.0.193:80
y al ver las reglas con iptables -t nat -L me muestra lo siguiente:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- linux/16 anywhere tcp dpt:http
redir ports 3128
DNAT tcp -- anywhere linux tcp dpt:http
to:192.168.0.193:80
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Pero cuando accedo a la direccion no me redirecciona a el otro equipo.
Que sera que pasa?
----- Original Message -----
From: "Emiliano Sutil"
Sistemas ADYLOG wrote:
Buena trade para todos,
Tengo un Suse standar server version 8 y necesito utlizar PREROUTING para hacer Destination NAT (DNAT), pero al añadir la regla esta no funciona, a pesar de que tengo otra regla de PREROUTING pero para redireccion de puertos.
Alguien sabe como habilitar el DNAT?
Gracias
Carlos Andres Giraldo Restrepo
Hola, Has secuestrado un poco el hilo anterior pero bueno, ten cuidado con eso.
Yo te cuento como lo tengo yo ahora mismo en un equipo mio a ver si te sirve.
# Generated by iptables-save v1.2.5 on Mon Mar 31 15:02:51 2003 *nat :PREROUTING ACCEPT [426032:31223976] :POSTROUTING ACCEPT [684150:36048108] :OUTPUT ACCEPT [1:60] *# Traslado de puertos para acceder a un Windows con Terminal Server en la ip **192.168.0.206* -A PREROUTING -d 192.168.0.205 -p tcp -m tcp --dport 3389 -j DNAT --to-destination* 192.168.0.206*:3389 -A POSTROUTING -o eth1 -j MASQUERADE COMMIT # Completed on Mon Mar 31 15:02:51 2003 # Generated by iptables-save v1.2.5 on Mon Mar 31 15:02:51 2003 *filter :INPUT ACCEPT [100:6200] :FORWARD ACCEPT [119:8725] :OUTPUT ACCEPT [60:6528] -A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT COMMIT
Otro detalle importante es esta linea en el fichero de arranque de las iptables
echo 1 > /proc/sys/net/ipv4/ip_forward
Este comando activa que se pueda hacer mascarado. No se como afecta al traslado de puertos pero como no tengas ese 1 en ese fichero no funciona nada.
Espero que te sirva para algo
Un saludo
Emiliano Sutil
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Sistemas ADYLOG wrote:
Este procedimiento ya lo he hecho de la siguiente forma:
iptables -t nat -A PREROUTING -d 192.168.0.131 -p tcp --dport 80 -j DNAT --to 192.168.0.193:80
y al ver las reglas con iptables -t nat -L me muestra lo siguiente: Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp -- linux/16 anywhere tcp dpt:http redir ports 3128 DNAT tcp -- anywhere linux tcp dpt:http to:192.168.0.193:80
Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Pero cuando accedo a la direccion no me redirecciona a el otro equipo.
Que sera que pasa?
Pues no se como tendrás organizada la red pero por lo que veo en lo que has pasado, las ips pertenecen a la misma subred 192.168.0 Yo creo, o por lo menos yo siempre lo he hecho asi, que debe ser 2 redes disintas. Si te fijas en mi ejemplo, que por lo que acabo de ver esta mal, el traslado de puertos se hace entre 2 redes distintas. La salida del comando en mi caso es esta iptables -t nat -L -n DNAT tcp -- 0.0.0.0/0 192.168.1.206 tcp dpt:3389 to:192.168.0.206:3389 Es decir lo que venga por el interfaz externo (192.168.1.206) se redirige a la ip interna que deseo (192.168.0.206) Revisa a ver si tienes bien las ip
----- Original Message ----- From: "Emiliano Sutil"
Cc: "Lista SuSE" Sent: Wednesday, September 15, 2004 2:24 AM Subject: Re: [suse-linux-s] Problema con IPTables Sistemas ADYLOG wrote:
Buena trade para todos,
Tengo un Suse standar server version 8 y necesito utlizar PREROUTING para hacer Destination NAT (DNAT), pero al añadir la regla esta no funciona, a pesar de que tengo otra regla de PREROUTING pero para redireccion de puertos.
Alguien sabe como habilitar el DNAT?
Gracias
Carlos Andres Giraldo Restrepo
Sistemas ADYLOG wrote:
Este procedimiento ya lo he hecho de la siguiente forma:
iptables -t nat -A PREROUTING -d 192.168.0.131 -p tcp --dport 80 -j DNAT --to 192.168.0.193:80
y al ver las reglas con iptables -t nat -L me muestra lo siguiente: Chain PREROUTING (policy ACCEPT) target prot opt source destination REDIRECT tcp -- linux/16 anywhere tcp dpt:http redir ports 3128 DNAT tcp -- anywhere linux tcp dpt:http to:192.168.0.193:80
Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Pero cuando accedo a la direccion no me redirecciona a el otro equipo.
Que sera que pasa?
Pues no se como tendrás organizada la red pero por lo que veo en lo que has pasado, las ips pertenecen a la misma subred 192.168.0 Yo creo, o por lo menos yo siempre lo he hecho asi, que debe ser 2 redes disintas. Si te fijas en mi ejemplo, que por lo que acabo de ver esta mal, el traslado de puertos se hace entre 2 redes distintas.
La salida del comando en mi caso es esta
iptables -t nat -L -n
DNAT tcp -- 0.0.0.0/0 192.168.1.206 tcp dpt:3389 to:192.168.0.206:3389
Es decir lo que venga por el interfaz externo (192.168.1.206) se redirige a la ip interna que deseo (192.168.0.206)
Revisa a ver si tienes bien las ip
----- Original Message ----- From: "Emiliano Sutil"
Cc: "Lista SuSE" Sent: Wednesday, September 15, 2004 2:24 AM Subject: Re: [suse-linux-s] Problema con IPTables Sistemas ADYLOG wrote:
Buena trade para todos,
Tengo un Suse standar server version 8 y necesito utlizar PREROUTING
En realidad lo tengo implementado con una real y una clase C, pero no
funciona
----- Original Message -----
From: "Emiliano Sutil"
hacer Destination NAT (DNAT), pero al añadir la regla esta no funciona, a pesar de que tengo otra regla de PREROUTING pero para redireccion de puertos.
Alguien sabe como habilitar el DNAT?
Gracias
Carlos Andres Giraldo Restrepo
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
Sistemas ADYLOG wrote:
En realidad lo tengo implementado con una real y una clase C, pero no funciona
Pues lo unico que se me ocurre es que no tengas los modulos cargados necesarios. Yo si hago un lsmod en el equipo que tengo esto servidor:~ # lsmod Module Size Used by Not tainted st 25844 0 (autoclean) iptable_filter 1728 1 (autoclean) ipt_MASQUERADE 1216 1 (autoclean) iptable_nat 12756 1 (autoclean) [ipt_MASQUERADE] ip_conntrack 12652 1 (autoclean) [ipt_MASQUERADE iptable_nat] ip_tables 10400 5 [iptable_filter ipt_MASQUERADE iptable_nat] nfsd 64800 4 (autoclean) ipv6 123424 -1 (autoclean) isa-pnp 27816 0 (unused) tlan 23648 1 3c59x 25032 1 lvm-mod 58016 0 (autoclean) aacraid 26068 1 ext3 60160 2 jbd 42196 2 [ext3] aic7xxx 105824 4 servidor:~ # Revisa que tengas los modulos correspondientes donde sale lo de las iptables,
participants (4)
-
Emiliano Sutil
-
Luis Roa P.
-
Mauricio Pellegrini
-
Sistemas ADYLOG