Copia con exclusiones

Imaginemos que tenemos un directorio con decenas de miles de ficheros. Imaginemos ahora que necesitamos copiarlos casi todos, a otro directorio. 驴C贸mo conseguimos, mediante un 煤nico comando, realizar la copia de todos los ficheros excepto los que no necesitamos copiar?

Una soluci贸n ser铆a, estando ubicados en el directorio de origen (que contiene los ficheros) con la siguiente l铆nea:

ls | egrep -v ‘^excepcion1|^excepcion2|^excepcion3’ | xargs -i cp {} /dest_folder/

En esta l铆nea, excepcion1 corresponde con el nombre de un fichero que no queremos copiar (o en el caso de tener varios ficheros cuyo nombre empieza por excepcion1, con todos ellos). An谩logamente con excepcion2 y excepcion3. dest_folder, corresponde con el directorio de destino.

Por ejemplo, si se quisieran copiar todos los archivos, excepto los que empiezan por adoc*, data*, table* y user*, se podr铆a usar la siguiente sentencia:

ls | egrep -v ‘^adoc|^data|^table|^user’ | xargs -i cp {} /dest_folder/

NOTA: con ‘^’ se indica que el nombre del archivo (en este caso) ha de empezar con el patr贸n indicado.

驴Cu谩ndo reiniciar Apache?

RAID
Dos preguntas cortas con respuestas de copy&paste sobre Apache.

驴Una modificaci贸n en el archivo php.ini requiere reiniciar apache para aplicarse?
芦Si tenemos PHP como m贸dulo del servidor, el archivo php.ini se lee cada vez que se reinicia. Por lo tanto tienes que reiniciar para que actualice los cambios. 禄
Fuente: http://www.ignside.net/man/servidores/phpini.php

驴Y qu茅 pasa si no puedo reiniciar apache porqu茅 est谩 en producci贸n sirviendo una aplicaci贸n cr铆tica?
芦Las se帽ales USR1 o graceful hacen que el proceso padre indique a sus hijos que terminen despu茅s de servir la petici贸n que est茅n atendiendo en ese momento (o de inmediato si no est谩n sirviendo ninguna petici贸n). El proceso padre lee de nuevo sus ficheros de configuraci贸n y vuelve a abrir sus ficheros log. Conforme cada hijo va terminando, el proceso padre lo va sustituyendo con un hijo de una nueva generaci贸n con la nueva configuraci贸n, que empeciezan a servir peticiones inmediatamente.禄
Fuente: http://httpd.apache.org/docs/2.0/stopping.html

Actualizaci贸n Noviembre 2013

Aprovecho para actualizar este post con un par de apuntes:

  • Ante cualquier cambio en la configuraci贸n de Apache, podemos verificar si hay problemas con la nueva configuraci贸n, antes de aplicar los cambios, ejecutando:
/etc/init.d/httpd configtest
  • Una vez verificada la configuraci贸n, podemos reiniciar la configuraci贸n (sin necesidad de reiniciar Apache y por tanto sin afectar al servicio) s铆mplemente haciendo un reload:
/etc/init.d/httpd reload

Flickr! Foto por US Mission Geneva

Registrar actividad en sesi贸n ssh

spy
Imaginemos que queremos un m茅todo para registrar todo lo que un determinado usuario realiza durante su sesi贸n ssh. Por lo tanto, lo que se busca es guardar el log de la actividad del usuario en el propio equipo al que se conecta, y por supuesto, no se quiere que el usuario pueda modificar o eliminar este archivo de log.

Opci贸n 1

Una primera opci贸n, es complicarse la vida, montando este entorno a mano.

Continuar leyendo 芦Registrar actividad en sesi贸n ssh禄