RSS

  • YouTube
  • LinkedIn
  • Google

Archivos de la : December2015

Nombres de archivos con lista de 0 a la Z

Hoy fue la codificación algunos scripts y encontró un pequeño problema con un patrón definido.

El patrón es crear archivos donde la secuencia se inicia en 0 (cero) y no puede repetirse hasta Z.

Ejemplo:

myfile0.ext, myfile1.ext, myfile2.ext, (...), myfile9.ext, myfileA.ext, myfileB.txt, (...), myfileZ.txt

Bien, Esto no es un gran problema por lo utilizar este código.

// Filename
$seq = $last_used_seq = '';
$seqs = array_merge(range('0','9'), range('A', 'Z'));]
$l = 1;
while (!in_array($seq, $seqs)) {
    $seq = chr(ord($last_used_seq) + $l++);
}

Pero

$Seq

no dio el valor esperado de 0 (cero) en la primera carrera. En su lugar, fue en blanco.

Depuración de las variables, He visto que la while nunca se evalúa a true. Intentar reproducir en la línea de comandos vi

in_array($Seq, $seqs);

siempre volver true. Intenté utilizar “”, “R” y no importa qué valor, volviendo todavía true.

Por lo tanto cambiar para utilizar STRICT argumento para in_array to true and works for ‘;A’; through ‘;Z’;, but not for ‘;0; through ‘;9;.

while (!in_array($seq, $seqs, true)) {
    $seq = chr(ord($last_used_seq) + $l++);
}

Damn…; PHP es correcto, ;0; no es estrictamente igual a 0. El Chr función de retorno string y

rango('0', '9')

crea un array con integer valores.

Por lo tanto, Cambié el enfoque para evaluar todos los valores con STRICT, porque me gustaría crear un código limpio y sin ninguna otras funciones para utilizar.

This is the final code that I’;uso de m:

// Inicial de valores $seq = '';
$seqs = array_merge(rango(Ord('0'),Ord('9')), rango(Ord('A'), Ord('Z')));
$seqs = array_map('chr', $seqs);
$l = 1;
al mismo tiempo (!in_array($Seq, $seqs, true)) {
    $SEQ = chr(Ord($Infos['last_seq']) + $l ++);
}

// Nombres de archivos foreach ($itens_for_files as $key =>; $itens) {
    // ... Y otro para llenar el archivo $seq = chr(Ord($Seq) + 1);
    al mismo tiempo (!in_array($Seq, $seqs, true)) {
    $SEQ = chr(Ord($Seq) + 1);
    $FILENAME = 'miarchivo' . $Seq . ".ext";
    // ...
}

Cómo se puede ver, He cambiado el $seqs initial values from ‘;0; a su ASCII el código y volver a su valor que me dio un array con todos los valores de string tipo.

Nos vemos!

Error de comparación PHP

Hoy, Estaba escribiendo un script en PHP para ser utilizado en la línea de comandos cuando me topé con un comportamiento inesperado (por lo menos de mi parte).
El script debe recibir tres argumentos, la última de ellas una lista que contiene uno o más códigos numéricos.
Tratando de validar este último argumento fue conseguir un resultado diferente lo imaginado.
Ver el fragmento de código que estaba usando:

// Test.php si (php_sapi_name() == 'cli') {
    $di = isset($argv[1]) ? $argv[1] : fecha('Y-m-d'); // Inicial de fecha $df = isset($argv[2]) ? $argv[2] : fecha('Y-m-d'); // Fecha límite $prods = isset($argv[3]) ? explotar(',', $argv[3]) : arreglo de discos(); // Lista de códigos

    ##### Validación de
    // Inicial de fecha si ($di != fecha('Y-m-d', strtotime($di))) {
        Eco "\n";
        Eco "ERROR! FECHA de inicio no válido!\n";
        salida;
    }
    // Final fecha si ($DF != fecha('Y-m-d', strtotime($DF))) {
        Eco "\n";
        Eco "ERRO! FECHA FINAL no válido!\n";
        salida;    
    }

    // Si los códigos (Conde($puntas de prueba) >; 0) {
        foreach ($sondas como $prod) {
            If ($Prod != (int)$Prod) {
                Eco "\n";
                Eco "ERROR! El código de " . $Prod . " no es válido!\n" ;
                salida;
            }
        }
    }
    Eco "HECHO!";
}

Continuar leyendo >>

Cómo fijar la fecha y hora en Centos 6. X para la zona horaria en los registros de

Hoy me encontré con un problema cuando se utiliza el Fail2ban me ayuda a mantener el servidor en el aire incluso en ataques de fuerza bruta.

Uno de mis filtros no se salvo el varios intentos para autenticar a una mis servicios aunque estaba bien. Decidí aumentar la Findtime configuración común y comenzó a difundir.

Por lo que era necesario entender por qué con un findtime abajo que no difundió. Comencé a comprobar en detalle los ajustes y me di cuenta que a pesar de que he cambiado la hora para mi huso horario al horario oficial de Brasilia, los registros continuados para mostrar el calendario en UTC. Sospecha que podría ser esto y decidió cambiar el calendario que se coloca en los registros (/var/log/messages).

Bingo!

Después del cambio y confirmar que los registros fueron con el mismo horario que los informados en

fecha 

cambiar el findtime a los valores que quería y todo funcionó como se esperaba.

Sigue la receta para cambiar el horario.

Información de zona horaria se encuentran en archivo /etc/localtime y si no es en lo queremos simplemente lo reemplaza para lo que quiere y que está presente en /usr/share/zoneinfo /. En mi caso, Cómo me gustaría el horario de Brasilia, He usado /usr/share/zoneinfo/America/Sao_Paulo.

# LN-sf/usr/share/zoneinfo/America/Sao_Paulo/etc/localtime

Ahora sólo trate de usar el comando date y compruebe que la salida debería ser algo así como:

# fecha Wed Dec 9 15:55:58 Soy BRST 2015

Incluso después de estos cambios, los registros seguirán teniendo el tiempo de la vieja usanza. Para cambiar este editar el archivo/etc/sysconfig/clock y agregue las líneas siguientes para reflejar su zona horaria.

ZONA ="America/Sao_Paulo"
UTC = arco falso = falso

En mi caso, Tuve que reiniciar el servidor para que los cambios a efecto de surtissem pero solo reinicie el servicio rsyslog ya resolver.

# Reinicio del servicio rsyslog

Hasta la próxima.

Cómo corregir un error de configuración en Linux Debian/Ubuntu

Hoy he tenido que mirar los logs a un servidor FTP que se ejecuta bajo la Pure-ftp y me di cuenta que los horarios estaban todos en UTC .
Ya que necesitaba enviar parte de los registros a una tercera persona que hace uso de él y no está familiarizado con los sistemas de, podría terminar tomando lugar un malentendido. Decidí entonces debe mantener los registros de todas las aplicaciones en zona brasileña.
Según la documentación de la pure-ftp utiliza variables de entorno para determinar cuál será el calendario incluido en los registros

Continuar leyendo >>