Foros del Web » Administración de Sistemas » Unix / Linux »

Grabar imagen a último Pen USB conectado

Estas en el tema de Grabar imagen a último Pen USB conectado en el foro de Unix / Linux en Foros del Web. Hola, quisiera hacer un script para poder llamarlo desde PHP. Lo único que tiene que hacer es grabar unas imágenes que se le pasen EN ...
  #1 (permalink)  
Antiguo 06/05/2009, 09:51
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Grabar imagen a último Pen USB conectado

Hola, quisiera hacer un script para poder llamarlo desde PHP. Lo único que tiene que hacer es grabar unas imágenes que se le pasen EN EL ÚLTIMO USB que se haya conectado al equipo.

He mirado 4 páginas del foro, he buscado y no he encontrado nada.

¿Alguien podría decirme cómo saber la denominación de ese último USB?

En Linux, claro.

Gracias.
  #2 (permalink)  
Antiguo 06/05/2009, 14:34
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Grabar imagen a último Pen USB conectado

¿A que te refieres con "último"? ¿Puede haber varios pendrives conectados en el equipo?
¿Pueden ser diferentes pendrives?
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 23/05/2009, 17:27
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Hola y gracias por responder. Perdón por la tardanza, he tenido problemas y no he podido conectar.

Sí que pueden ser diferentes pendrives, pero no puede haber más que uno.
Supongo que me estoy volviendo loco a lo tonto y habrá una forma fácil de comprobar si hay un pendrive conectado o no mediante consola.
  #4 (permalink)  
Antiguo 23/05/2009, 18:20
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Me voy a explicar mejor. Lo que quiero es, desde PHP, comprobar que haya un USB conectado para, mediante el comando cp, copiar unos .jpg.
Y, manda hu., en windows lo he hecho a la primera (el servidor de desarrollo es windows), pero en linux no sé como hacerlo (el de producción va a ser linux).
  #5 (permalink)  
Antiguo 23/05/2009, 19:15
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Grabar imagen a último Pen USB conectado

Para saber cuál es el último pendrive conectado quizás te sirvan los comandos LSUSB (dice qué dispositivos USB hay conectados) y DMESG (muestra información sobre los eventos que afectan al kernel, entre los que están las conexiones de hardware). Para saber dónde se ha montado el dispositivo, MOUNT. Y para copiar los archivos, CP.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #6 (permalink)  
Antiguo 23/05/2009, 20:04
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

gracias, voy a probarlo.
  #7 (permalink)  
Antiguo 23/05/2009, 20:19
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

No hay algo simple como la linea de windows
IF exist T:\ (ECHO USB CONECTADO) ELSE (ECHO USB NO CONECTADO)

es que tengo que controlar las salidas desde PHP y me estoy volviendo loco.

Gracias.
  #8 (permalink)  
Antiguo 23/05/2009, 21:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 0
Respuesta: Grabar imagen a último Pen USB conectado

Tengo unos libros de PHP voy a buscar algo y te lo paso, SAludos.
  #9 (permalink)  
Antiguo 24/05/2009, 03:10
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Te lo agradecería.
  #10 (permalink)  
Antiguo 24/05/2009, 09:20
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Grabar imagen a último Pen USB conectado

¿En Windows por qué usas la unidad "T"? ¿Cómo sabes que es el último?
En linux las unidades se denominan algo como:
Código:
/dev/sda, /dev/sdb, /dev/sdd, etc
Sigo sin comprender 100% a que te refieres con el "último"

En bash, tu ejemplo sería algo como:
Código bash:
Ver original
  1. if [ -f /dev/sdc ]
  2. then
  3.     echo "USB conectado"
  4. else
  5.     echo "USB no conectado"
  6. fi

Igual depende de si hay varios USB conectados, el ultimo va a ir tomando diferentes dispositivos.
Con udev, se puede hacer que un mismo dispositivo, se designe siempre al mismo nombre (algo como /dev/backupusb o lo que quieras) pero no se ahora decirte como se implementa.

Saludos
__________________
¡Volviendo a la programación!
  #11 (permalink)  
Antiguo 24/05/2009, 10:48
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Gracias por la respuesta,AleSanchez

Efectivamente, la pregunta la planteé mal. En un principio estaba obsesionado con detectar el último dispositivo USB que se hubiera conectado al equipo, pero en estos equipos siempre va a haber sólo uno (ya que solo hay un "enchufe"), así que con comprobar /dev/sda es suficiente. Siento no haberme explicado bien.

Muchas gracias por el código.
  #12 (permalink)  
Antiguo 24/05/2009, 11:13
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Grabar imagen a último Pen USB conectado

Comprobá con fdisk -l el nombre de dispositivo que toma el pendrive.
Probablemente /dev/sda sea el disco rígido del equipo.

Saludos
__________________
¡Volviendo a la programación!
  #13 (permalink)  
Antiguo 24/05/2009, 11:29
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Lo siento, post duplicado.
  #14 (permalink)  
Antiguo 24/05/2009, 11:30
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Sí, me he confundido.
Nada, pongo en un .sh esto:
Código:
#!/bin/bash
if [ -f /dev/sdb ] 
then
    echo "USB conectado"
else
    echo "USB no conectado"
fi
y no funciona ni von sda ni sda1 ni sdb ni sdb1. En todos los casos me devuelve NO CONECTADO.
  #15 (permalink)  
Antiguo 24/05/2009, 11:55
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado

Esto es muy extraño, monto /dev/sdc1 (el USB) en /media/usb1. En media/usb1 puedo ver los ficheros perfectamente. Pero si corro el script buscando -f /dev/sdc1 me da como "no conectado"
¿Qué estoy haciendo mal?
Gracias.
  #16 (permalink)  
Antiguo 24/05/2009, 18:08
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Grabar imagen a último Pen USB conectado

Si lo probé y no me funciona. Parece que no funciona bien con dispositivos.
Podes probar con:

Código bash:
Ver original
  1. if [ -d /sys/block/sdc/ ]; then echo "Conectado"; fi

Que a mi me funcionó ok.

Sino la otra es ya meterse con udev, acá hay un documento que explica muy bien el tema: http://reactivated.net/writing_udev_rules.html#

Saludos.
__________________
¡Volviendo a la programación!
  #17 (permalink)  
Antiguo 24/05/2009, 19:55
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
Respuesta: Grabar imagen a último Pen USB conectado



¡Muchas gracias!

Al cambiar de dispositivo cada vez que lo conecto, tuve que hacer esta modificación:

**no es código PHP, pero es que no sé cuales son las etiquetas para código BASH
Código PHP:
if [ -/sys/block/sdb/ ] || [ -/sys/block/sdc/ ] || [ -/sys/block/sdd/ ] 
then
    
echo "USB conectado"
else
    echo 
"USB no conectado"
fi 
Funciona perfecto. Muchas gracias otra vez.

Última edición por trasgukabi; 24/05/2009 a las 20:01
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:48.