InglésFrancésEspañol

Ad


icono de página de OnWorks

pt-archiverp: en línea en la nube

Ejecute pt-archiverp en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando pt-archiverp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


pt-archiver: archiva filas de una tabla MySQL en otra tabla o archivo.

SINOPSIS


Uso: pt-archiver [OPCIONES] - fuente DSN --donde DONDE

pt-archiver mordisquea registros de una tabla MySQL. Los argumentos --source y --dest usan DSN
sintaxis; si COPY es sí, --dest toma como valor predeterminado el valor de la clave de --source.

Ejemplos:

Archive todas las filas de oltp_server en olap_server y en un archivo:

pt-archiver --fuente h = oltp_server, D = prueba, t = tbl --dest h = olap_server \
--archivo '/var/log/archive/%Y-%m-%d-%D.%t' \
--donde "1 = 1" --limit 1000 --commit-each

Purgar (eliminar) filas huérfanas de la tabla secundaria:

pt-archiver --fuente h = host, D = db, t = child --purge \
--donde 'NO EXISTE (SELECT * FROM parent WHERE col = child.col)'

RIESGOS


Percona Toolkit es maduro, probado en el mundo real y bien probado, pero todas las bases de datos
las herramientas pueden suponer un riesgo para el sistema y el servidor de la base de datos. Antes de usar esta herramienta,
por favor:

· Leer la documentación de la herramienta

· Revise los "ERRORES" conocidos de la herramienta

· Pruebe la herramienta en un servidor que no sea de producción

· Realice una copia de seguridad de su servidor de producción y verifique las copias de seguridad

DESCRIPCIÓN


pt-archiver es la herramienta que utilizo para archivar tablas como se describe en
<http://tinyurl.com/mysql-archiving>. El objetivo es un trabajo de bajo impacto y solo hacia adelante para
mordisquear datos antiguos de la tabla sin afectar mucho las consultas OLTP. Puede insertar el
datos en otra tabla, que no necesita estar en el mismo servidor. También puede escribirlo en un
archivo en un formato adecuado para LOAD DATA INFILE. O no puede hacer ninguna de las dos, en cuyo caso es
solo un DELETE incremental.

pt-archiver es extensible a través de un mecanismo de complemento. Puede inyectar su propio código para agregar
lógica de archivo avanzada que podría ser útil para archivar datos dependientes, aplicando
reglas comerciales complejas o la construcción de un almacén de datos durante el proceso de archivo.

Debe elegir los valores con cuidado para algunas opciones. Los más importantes son "--limit",
"--retries" y "--txn-size".

La estrategia es encontrar la (s) primera (s) fila (s), luego escanear algunos índices, solo hacia adelante, para encontrar más
filas de manera eficiente. Cada consulta posterior no debe escanear toda la tabla; debería buscar
en el índice, luego escanee hasta que encuentre más filas archivables. Especificando el índice con
la parte 'i' del argumento "--source" puede ser crucial para esto; use "--dry-run" para
examinar las consultas generadas y asegurarse de EXPLICARlas para ver si son eficientes
(la mayoría de las veces probablemente desee escanear la tecla PRIMARY, que es la predeterminada). Incluso
mejor, examine la diferencia en los contadores de estado del controlador antes y después de ejecutar el
consulta y asegúrese de que no esté escaneando toda la tabla en cada consulta.

Puede deshabilitar las optimizaciones de buscar y luego escanear parcial o totalmente con "--no-ascend"
y "--ascender primero". A veces, esto puede resultar más eficaz para claves de varias columnas. Ser
consciente de que pt-archiver está construido para comenzar al principio del índice que elige y escanear
solo hacia adelante. Esto puede resultar en escaneos largos de la tabla si está tratando de mordisquear
el final de la tabla por un índice diferente al que prefiere. Ver "--fuente" y leer
la documentación en la parte "i" si esto se aplica a usted.

Percona XtraDB Médico


pt-archiver funciona con Percona XtraDB Cluster (PXC) 5.5.28-23.7 y más reciente, pero hay
tres limitaciones que debe considerar antes de archivar en un clúster:

Error al confirmar
pt-archiver no busca errores cuando confirma transacciones. Se compromete en PXC puede
falla, pero la herramienta aún no verifica ni vuelve a intentar la transacción cuando esto sucede.
Si sucede, la herramienta morirá.

Tablas MyISAM
El archivo de tablas MyISAM funciona, pero el soporte de MyISAM en PXC todavía es experimental en el
momento de este lanzamiento. Hay varios errores conocidos con PXC, tablas MyISAM y
Columnas "AUTO_INCREMENT". Por lo tanto, debe asegurarse de que el archivado no se
o indirectamente dar como resultado el uso de valores predeterminados "AUTO_INCREMENT" para una tabla MyISAM.
Por ejemplo, esto sucede con "--dest" si se usa "--columns" y el
La columna "AUTO_INCREMENT" no está incluida. ¡La herramienta no comprueba esto!

Opciones sin clúster
Algunas opciones pueden funcionar o no. Por ejemplo, si un nodo de clúster no es también un
esclavo, entonces "--check-slave-lag" no funciona. Y dado que las tablas PXC suelen ser
InnoDB, pero InnoDB no es compatible con "INSERT DELAYED", luego "--delayed-insert" no
trabajo. Es posible que otras opciones tampoco funcionen, pero la herramienta no las marca, por lo tanto
debe probar el archivo en un clúster de prueba antes de archivar en su clúster real.

SALIDA


Si especifica "--progress", la salida es una fila de encabezado, más la salida de estado a intervalos.
Cada fila en la salida de estado enumera la fecha y hora actuales, cuántos segundos pt-
archiver se ha estado ejecutando y cuántas filas ha archivado.

Si especifica "--statistics", "pt-archiver" genera la sincronización y otra información para ayudar
usted identifica qué parte de su proceso de archivo requiere más tiempo.

MANEJO DE ERRORES


pt-archiver intenta captar señales y salir con elegancia; por ejemplo, si lo envías
SIGTERM (Ctrl-C en sistemas UNIX-ish), captará la señal, imprimirá un mensaje sobre el
señal y salir con bastante normalidad. No ejecutará "--analyze" ni "--optimize",
porque pueden tardar bastante en finalizar. Ejecutará todos los demás códigos normalmente,
incluyendo llamar después de terminar() en cualquier complemento (consulte "EXTENDER").

En otras palabras, una señal, si se detecta, saldrá del bucle de archivo principal y saltará
optimizar / analizar.

CAMPUS


Especifique al menos uno de "--dest", "--file" o "--purge".

"--ignore" y "--replace" son mutuamente excluyentes.

"--txn-size" y "--commit-each" son mutuamente excluyentes.

"--low-priority-insert" y "--delayed-insert" son mutuamente excluyentes.

"--share-lock" y "--for-update" son mutuamente excluyentes.

"--analyze" y "--optimize" son mutuamente excluyentes.

"--no-ascend" y "--no-delete" son mutuamente excluyentes.

Los valores DSN en "--dest" predeterminados a los valores de "--source" si COPY es sí.

--analizar
tipo: cadena

Ejecute ANALYZE TABLE luego en "--source" y / o "--dest".

Ejecuta ANALYZE TABLE después de terminar. El argumento es una cadena arbitraria. Si se
contiene la letra 's', se analizará la fuente. Si contiene 'd', el
se analizará el destino. Puede especificar uno o ambos. Por ejemplo, el
A continuación se analizarán ambos:

--analizar = ds

Verhttp://dev.mysql.com/doc/en/analyze-table.html> para obtener más información sobre ANALYZE TABLE.

--ascender primero
Asciende solo la primera columna del índice.

Si desea utilizar la optimización de índice ascendente (consulte "--no-ascend"), pero no
desea incurrir en la sobrecarga de ascender un gran índice de varias columnas, puede utilizar este
opción para decirle a pt-archiver que ascienda solo por la columna más a la izquierda del índice. Esto puede
proporcionar un impulso de rendimiento significativo sobre no subir el índice en absoluto, mientras
evitando el costo de subir todo el índice.

Consulte "EXTENDIENDO" para ver una discusión sobre cómo esto interactúa con los complementos.

--pedir-pasar
Solicitar una contraseña al conectarse a MySQL.

--buffer
Almacenar la salida en "--file" y vaciar en el momento de la confirmación.

Deshabilita la descarga automática en "--file" y descarga "--file" en el disco solo cuando se realiza una transacción
se compromete. Por lo general, esto significa que el sistema operativo limpia el archivo por bloques, por lo que
También puede haber algunos vaciados implícitos en el disco entre confirmaciones. El valor predeterminado es
vaciar "--file" en el disco después de cada fila.

El peligro es que un accidente pueda provocar la pérdida de datos.

El aumento de rendimiento que he visto al usar "--buffer" es de alrededor del 5 al 15 por ciento.
Su experiencia puede ser diferente.

--eliminación masiva
Elimine cada fragmento con una sola declaración (implica "--commit-each").

Elimine cada fragmento de filas de forma masiva con una sola instrucción "DELETE". La declaración
elimina todas las filas entre la primera y la última fila del fragmento, inclusive. Eso implica
"--commit-each", ya que sería una mala idea "INSERTAR" filas de una en una y
consúltelos antes del "BORRAR" masivo.

El método normal es eliminar cada fila por su clave principal. Las eliminaciones masivas pueden ser un
mucho más rápido. Se también podría no be más rápida si tiene una cláusula compleja "DÓNDE".

Esta opción difiere por completo todo el procesamiento de "BORRAR" hasta que el fragmento de filas sea
terminado. Si tiene un complemento en la fuente, su método "before_delete" no será
llamado. En cambio, su método "before_bulk_delete" se llama más tarde.

ADVERTENCIA: si tiene un complemento en la fuente que a veces no devuelve verdadero desde
"is_archivable ()", debe usar esta opción solo si comprende lo que hace. Si
el complemento le indica a "pt-archiver" que no archive una fila, aún así será eliminada por
la eliminación masiva!

- [no] límite de eliminación masiva
predeterminado: sí

Agregue "--limit" a la declaración "--bulk-delete".

Esta es una opción avanzada y no debe deshabilitarla a menos que sepa lo que es
haciendo y por qué! De forma predeterminada, "--bulk-delete" agrega una cláusula "--limit" al volumen
eliminar declaración SQL. En ciertos casos, esta cláusula se puede omitir especificando
"- sin límite de eliminación masiva". "--limit" aún debe especificarse.

- inserto a granel
Inserte cada fragmento con LOAD DATA INFILE (implica "--bulk-delete" "--commit-each").

Inserte cada fragmento de filas con "LOAD DATA LOCAL INFILE". Esto puede ser mucho más rápido que
insertando una fila a la vez con declaraciones "INSERT". Se implementa creando un
archivo temporal para cada fragmento de filas, y escribir las filas en este archivo en lugar de
insertándolos. Cuando el fragmento termina, carga las filas.

Para proteger la seguridad de sus datos, esta opción fuerza el uso de eliminaciones masivas. Eso
No sería seguro eliminar cada fila a medida que se encuentre, antes de insertar las filas en el
destino primero. Forzar eliminaciones masivas garantiza que la eliminación espera hasta que
la inserción es exitosa.

Las opciones "--low-priority-insert", "--replace" y "--ignore" funcionan con esto
opción, pero "--delayed-insert" no.

Si "LOAD DATA LOCAL INFILE" arroja un error en las líneas de "El comando usado no es
permitido con esta versión de MySQL ", consulte la documentación para la opción" L "DSN.

--juego de caracteres
forma corta: -A; tipo: cadena

Juego de caracteres predeterminado. Si el valor es utf8, establece el binmode de Perl en STDOUT en utf8,
pasa la opción mysql_enable_utf8 a DBD :: mysql y ejecuta SET NAMES UTF8 después
conectarse a MySQL. Cualquier otro valor establece binmode en STDOUT sin la capa utf8,
y ejecuta SET NAMES después de conectarse a MySQL.

Tenga en cuenta que solo se reconocen los conjuntos de caracteres conocidos por MySQL; Por ejemplo, "UTF8"
funciona, pero "UTF-8" no lo hará.

Consulte también "- [no] check-charset".

- [no] check-charset
predeterminado: sí

Asegúrese de que los juegos de caracteres de la tabla y la conexión sean iguales. Deshabilitar esta verificación puede
hacer que el texto se convierta erróneamente de un juego de caracteres a otro (generalmente de
utf8 a latin1) que pueden causar pérdida de datos o mojibake. Deshabilitar esta verificación puede ser
útil o necesario cuando se pretende realizar conversiones de juegos de caracteres.

- [no] columnas de verificación
predeterminado: sí

Asegúrese de que "--source" y "--dest" tengan las mismas columnas.

Habilitado por defecto; hace que pt-archiver compruebe que las tablas de origen y destino
tienen las mismas columnas. No comprueba el orden de las columnas, el tipo de datos, etc.
comprueba que todas las columnas del origen existan en el destino y viceversa. Si
si existen diferencias, pt-archiver se cerrará con un error.

Para deshabilitar esta verificación, especifique --no-check-columnas.

--intervalo de verificación
tipo: tiempo; predeterminado: 1 s

Si se da "--check-slave-lag", esto define cuánto tiempo la herramienta se detiene cada
vez descubre que un esclavo se está quedando atrás.
Esta verificación se realiza cada 100 filas.

--verificar-esclavo-lag
tipo: cadena; repetible: si

Pausar el archivado hasta que el retardo esclavo del DSN especificado sea menor que "--max-lag". Esta
La opción se puede especificar varias veces para comprobar más de un esclavo.

--columnas
forma corta: -c; tipo: matriz

Lista de columnas separadas por comas para archivar.

Especifique una lista de columnas separadas por comas para buscar, escribir en el archivo e insertar en
la mesa de destino. Si se especifica, pt-archiver ignora otras columnas a menos que
necesita agregarlos a la instrucción "SELECT" para ascender un índice o eliminar filas.
Obtiene y utiliza estas columnas adicionales internamente, pero no las escribe en el
archivo o en la tabla de destino. Eso pasarlos a complementos.

Consulte también "--primary-key-only".

- comprometerse-cada uno
Confirme cada conjunto de filas obtenidas y archivadas (deshabilita "--txn-size").

Confirma las transacciones y vacía "--file" después de que se haya archivado cada conjunto de filas,
antes de buscar el siguiente conjunto de filas y antes de dormir si se especifica "--sleep".
Desactiva "--txn-size"; use "--limit" para controlar el tamaño de la transacción con
"--commit-each".

Esta opción es útil como atajo para hacer que "--limit" y "--txn-size" tengan el mismo valor,
pero lo que es más importante, evita que las transacciones se mantengan abiertas mientras se buscan más
filas. Por ejemplo, imagine que está archivando filas antiguas desde el principio de un
tabla grande, con "--limit" 1000 y "--txn-size" 1000. Después de un período de búsqueda
y archivando 1000 filas a la vez, pt-archiver encuentra las últimas 999 filas y archivos
ellos, luego ejecuta el siguiente SELECT para encontrar más filas. Esto escanea el resto de la
tabla, pero nunca encuentra más filas. Ha mantenido abierta una transacción durante mucho tiempo.
tiempo, solo para determinar que está terminado de todos modos. Puede utilizar "--commit-each" para evitar
esta.

--config
tipo: Matriz

Lea esta lista de archivos de configuración separados por comas; si se especifica, este debe ser el primero
opción en la línea de comando.

--base de datos
forma corta: -D; tipo: cadena

Conéctese a esta base de datos.

- inserto retardado
Agregue el modificador DELAYED a las instrucciones INSERT.

Agrega el modificador DELAYED a las instrucciones INSERT o REPLACE. Ver
<http://dev.mysql.com/doc/en/insert.html> para más detalles.

--destino
tipo: DSN

DSN que especifica la tabla en la que archivar.

Este elemento especifica una tabla en la que pt-archiver insertará filas archivadas desde
"--fuente". Utiliza el mismo formato de argumento key = val que "--source". La mayoría desaparecidos
los valores predeterminados tienen los mismos valores que "--source", por lo que no tiene que repetir las opciones
que son iguales en "--source" y "--dest". Utilice la opción "--help" para ver qué
los valores se copian de "--source".

ADVERTENCIA: Utilizando una opción DSN de archivo de opciones predeterminado (F) que define un socket para
"--source" hace que pt-archiver se conecte a "--dest" usando ese socket a menos que otro
Se especifica socket para "--dest". Esto significa que pt-archiver puede conectarse incorrectamente
a "--source" cuando se conecta a "--dest". Por ejemplo:

--fuente F = host1.cnf, D = db, t = tbl --dest h = host2

Cuando pt-archiver se conecta a "--dest", host2, se conectará a través de "--source",
host1, socket definido en host1.cnf.

- corrida en seco
Imprime consultas y sal sin hacer nada.

Hace que pt-archiver salga después de imprimir el nombre del archivo y las declaraciones SQL que utilizará.

--expediente
tipo: cadena

Archivo para archivar, con FORMATO DE FECHA()-como formato.

Nombre de archivo para escribir filas archivadas. Un subconjunto de MySQL FORMATO DE FECHA() formato
Se permiten códigos en el nombre del archivo, de la siguiente manera:

% d Día del mes, numérico (01..31)
% H hora (00..23)
% i Minutos, numérico (00..59)
% m Mes, numérico (01..12)
% s segundos (00..59)
% Y Año, numérico, cuatro dígitos

También puede utilizar los siguientes códigos de formato adicionales:

% D Nombre de la base de datos
% t Nombre de la tabla

Ejemplo:

--archivo '/var/log/archive/%Y-%m-%d-%D.%t'

El contenido del archivo está en el mismo formato utilizado por SELECT INTO OUTFILE, como se documenta
en el manual de MySQL: filas terminadas por líneas nuevas, columnas terminadas por pestañas, NULL
los caracteres se representan con \ N y los caracteres especiales se escapan con \. Esto permite
recarga un archivo con la configuración predeterminada de LOAD DATA INFILE.

Si desea un encabezado de columna en la parte superior del archivo, consulte "--header". El archivo es auto-
enjuagado por defecto; consulte "--buffer".

--para-actualizar
Agrega el modificador FOR UPDATE a las instrucciones SELECT.

Para obtener más detalles, consultehttp://dev.mysql.com/doc/en/innodb-locking-reads.html>.

--encabezamiento
Imprime el encabezado de la columna en la parte superior de "--file".

Escribe los nombres de las columnas como la primera línea del archivo proporcionado por "--file". Si el archivo
existe, no escribe encabezados; esto mantiene el archivo cargable con LOAD DATA INFILE en
caso de que le agregue más salida.

--ayuda
Muestre ayuda y salga.

--selección de alta prioridad
Agrega el modificador HIGH_PRIORITY a las instrucciones SELECT.

Verhttp://dev.mysql.com/doc/en/select.html> para más detalles.

--anfitrión
forma corta: -h; tipo: cadena

Conéctese al anfitrión.

--ignorar
Utilice IGNORE para las declaraciones INSERT.

Hace que INSERT en "--dest" sea INSERT IGNORE.

--límite
tipo: int; predeterminado: 1

Número de filas para recuperar y archivar por declaración.

Limita el número de filas devueltas por las sentencias SELECT que recuperan filas para
archivo. El valor predeterminado es una fila. Puede ser más eficiente aumentar el límite, pero sea
tenga cuidado si está archivando escasamente, saltando muchas filas; esto puede potencialmente
causar más contención con otras consultas, dependiendo del motor de almacenamiento, transacción
nivel de aislamiento y opciones como "--for-update".

--local
No escriba consultas OPTIMIZE o ANALYZE en binlog.

Agrega el modificador NO_WRITE_TO_BINLOG a las consultas ANALYZE y OPTIMIZE. Ver "--analyze"
para obtener más detalles.

- eliminación de prioridad baja
Agrega el modificador LOW_PRIORITY a las declaraciones DELETE.

Verhttp://dev.mysql.com/doc/en/delete.html> para más detalles.

- inserción de baja prioridad
Agrega el modificador LOW_PRIORITY a las instrucciones INSERT o REPLACE.

Verhttp://dev.mysql.com/doc/en/insert.html> para más detalles.

--max-flujo-ctl
tipo: flotador

Algo similar a --max-lag pero para clústeres PXC. Verifique el tiempo promedio empleado en el clúster
hacer una pausa para el control de flujo y hacer que la herramienta se detenga si supera el porcentaje indicado
en la opción. El valor predeterminado es sin verificación de control de flujo. Esta opción está disponible para PXC
versiones 5.6 o superior.

--max-lag
tipo: tiempo; predeterminado: 1 s

Pausar el archivo si el esclavo dado por "--check-slave-lag" se retrasa.

Esta opción hace que pt-archiver mire al esclavo cada vez que está a punto de buscar
otra fila. Si el retraso del esclavo es mayor que el valor de la opción, o si el esclavo
no se está ejecutando (por lo que su retraso es NULL), pt-table-checksum duerme para "--check-interval"
segundos y luego vuelve a mirar el retraso. Se repite hasta que el esclavo es atrapado,
luego procede a buscar y archivar la fila.

Esta opción puede eliminar la necesidad de "--sleep" o "--sleep-coef".

--no ascender
No utilice la optimización de índice ascendente.

La optimización de índice ascendente predeterminada hace que "pt-archiver" optimice los archivos repetidos
"SELECCIONAR" consultas para que busquen en el índice donde terminó la consulta anterior, luego escanear
a lo largo de él, en lugar de escanear desde el principio de la tabla cada vez. Esto es
habilitado por defecto porque generalmente es una buena estrategia para accesos repetidos.

Los índices grandes de varias columnas pueden hacer que la cláusula WHERE sea lo suficientemente compleja como para
esto en realidad podría ser menos eficiente. Considere, por ejemplo, una CLAVE PRIMARIA de cuatro columnas
en (a, b, c, d). La cláusula WHERE para comenzar donde terminó la última consulta es la siguiente:

DONDE (a>?)
O (a =? Y b>?)
O (a =? Y b =? Yc>?)
O (a =? Y b =? Y c =? Y d> =?)

Completar los marcadores de posición con valores usa memoria y CPU, agrega tráfico de red y
sobrecarga de análisis, y puede hacer que la consulta sea más difícil de optimizar para MySQL. Una columna de cuatro
clave no es gran cosa, pero una clave de diez columnas en la que cada columna permite "NULL" podría
ser.

Es posible que no sea necesario subir el índice si sabe que simplemente está eliminando filas
desde el principio de la tabla en trozos, pero sin dejar ningún agujero, por lo que a partir de
el principio de la tabla es en realidad lo más eficaz.

Consulte también "--ascend-first". Consulte "EXTENDIENDO" para obtener más información sobre cómo interactúa.
con complementos.

--no-eliminar
No elimine filas archivadas.

Hace que "pt-archiver" no elimine filas después de procesarlas. Esto no permite
"--no-ascend", porque habilitarlos a ambos provocaría un bucle infinito.

Si hay un complemento en el DSN de origen, su método "before_delete" se llama de todos modos,
aunque "pt-archiver" no ejecutará la eliminación. Consulte "EXTENDIENDO" para obtener más información sobre
Plugins

--optimizar
tipo: cadena

Ejecute OPTIMIZE TABLE luego en "--source" y / o "--dest".

Ejecuta OPTIMIZE TABLE después de terminar. Consulte "--analyze" para conocer la sintaxis de la opción y
<http://dev.mysql.com/doc/en/optimize-table.html> para obtener más información sobre OPTIMIZE TABLE.

--contraseña
forma corta: -p; tipo: cadena

Contraseña para usar al conectarse. Si la contraseña contiene comas, deben escaparse
con una barra invertida: "exam \, ple"

--pid
tipo: cadena

Cree el archivo PID dado. La herramienta no se iniciará si el archivo PID ya existe y
el PID que contiene es diferente al PID actual. Sin embargo, si el archivo PID
existe y el PID que contiene ya no se está ejecutando, la herramienta sobrescribirá el PID
archivo con el PID actual. El archivo PID se elimina automáticamente cuando se cierra la herramienta.

--enchufar
tipo: cadena

Nombre del módulo Perl para usar como complemento genérico.

Especifique el nombre del módulo Perl de un complemento de uso general. Actualmente solo se usa
para estadísticas (consulte "--statistics") y debe tener un método "new ()" y "statistics ()".

El método "new (src =" $ src, dst => $ dst, opts => $ o)> obtiene la fuente y
DSN de destino y sus conexiones a la base de datos, al igual que las conexiones específicas
los complementos hacen. También obtiene un objeto OptionParser ($ o) para acceder a la línea de comandos
opciones (ejemplo: "$ o-" get ('purge');>).

El método "statistics (\% stats, $ time)" obtiene un hashref de las estadísticas recopiladas por
el trabajo de archivo y el momento en que comenzó todo el trabajo.

--Puerto
forma corta: -P; tipo: int

Número de puerto que se utilizará para la conexión.

--solo-clave-principal
Solo columnas de clave primaria.

Un atajo para especificar "--columns" con las columnas de clave primaria. Esto es un
eficiencia si solo desea purgar filas; evita recuperar toda la fila, cuando
sólo se necesitan las columnas de clave primaria para las declaraciones "DELETE". Consulte también "--purge".

--Progreso
tipo: int

Imprime información de progreso cada X filas.

Imprime la hora actual, el tiempo transcurrido y las filas archivadas cada X filas.

--purga
Purgar en lugar de archivar; permite omitir "--file" y "--dest".

Permite archivar sin un argumento "--file" o "--dest", que es efectivamente una purga
ya que las filas simplemente se eliminan.

Si solo desea purgar filas, considere especificar las columnas de clave principal de la tabla
con "--primary-key-only". Esto evitará obtener todas las columnas del servidor para
Sin razón.

- eliminación rápida
Agrega el modificador QUICK a las declaraciones DELETE.

Verhttp://dev.mysql.com/doc/en/delete.html> para más detalles. Como se indica en el
documentación, en algunos casos puede ser más rápido utilizar DELETE QUICK seguido de OPTIMIZE
MESA. Puede utilizar "--optimize" para esto.

--tranquilo
forma corta: -q

No imprima ningún resultado, como para "--estadísticas".

Suprime la salida normal, incluida la salida de "--statistics", pero no suprime
la salida de "--why-quit".

--reemplazar
Hace que los INSERTOS en "--dest" se escriban como REPLACE.

--reintentos
tipo: int; predeterminado: 1

Número de reintentos por tiempo de espera o interbloqueo.

Especifica el número de veces que pt-archiver debe reintentar cuando hay un bloqueo InnoDB
esperar tiempo de espera o interbloqueo. Cuando se agoten los reintentos, pt-archiver saldrá con un
error.

Considere cuidadosamente lo que quiere que suceda cuando esté archivando entre una combinación de
motores de almacenamiento transaccionales y no transaccionales. El INSERT en "--dest" y
DELETE from "--source" están en conexiones separadas, por lo que en realidad no
participar en la misma transacción incluso si están en el mismo servidor. Sin embargo, pt-
El archivador implementa transacciones distribuidas simples en código, por lo que confirma y deshace
debería suceder como se desea a través de las dos conexiones.

En este momento no he escrito ningún código para manejar errores con el almacenamiento transaccional
motores distintos de InnoDB. Solicite esa función si la necesita.

--tiempo de ejecución
tipo: tiempo

Es hora de correr antes de salir.

Sufijo opcional s = segundos, m = minutos, h = horas, d = días; si no se usa ningún sufijo, s.

- [no] incremento automático seguro
predeterminado: sí

No archive la fila con un máximo de AUTO_INCREMENT.

Agrega una cláusula WHERE adicional para evitar que pt-archiver elimine la fila más nueva cuando
ascendiendo una clave AUTO_INCREMENT de una sola columna. Esto protege contra la reutilización
AUTO_INCREMENT valores si el servidor se reinicia y está habilitado de forma predeterminada.

La cláusula WHERE adicional contiene el valor máximo de la columna de incremento automático a partir de
el comienzo del trabajo de archivo o depuración. Si se insertan nuevas filas mientras pt-archiver
se está ejecutando, no los verá.

--centinela
tipo: cadena; predeterminado: / tmp / pt-archiver-sentinel

Salga si este archivo existe.

La presencia del archivo especificado por "--sentinel" hará que pt-archiver se detenga
archivo y salida. El valor predeterminado es / tmp / pt-archiver-sentinel. Puedes encontrar esto
útil para detener los trabajos cron correctamente si es necesario. Consulte también "--stop".

--set-vars
tipo: Matriz

Establezca las variables de MySQL en esta lista separada por comas de pares "variable = valor".

De forma predeterminada, la herramienta establece:

wait_timeout = 10000

Las variables especificadas en la línea de comando anulan estos valores predeterminados. Por ejemplo,
especificar "--set-vars wait_timeout = 500" anula el valor predeterminado de 10000.

La herramienta imprime una advertencia y continúa si no se puede establecer una variable.

- bloqueo compartido
Agrega el modificador LOCK IN SHARE MODE a las instrucciones SELECT.

Verhttp://dev.mysql.com/doc/en/innodb-locking-reads.html>.

--skip-Foreign-key-checks
Desactiva las comprobaciones de claves foráneas con SET FOREIGN_KEY_CHECKS = 0.

--dormir
tipo: int

Tiempo de sueño entre recuperaciones.

Especifica cuánto tiempo dormir entre sentencias SELECT. El valor predeterminado es no dormir en
todo. Las transacciones NO se confirman y el archivo "--file" NO se vacía, antes
dormido. Consulte "--txn-size" para controlar eso.

Si se especifica "--commit-each", la confirmación y el vaciado ocurren antes de dormir.

--sueño-coef
tipo: flotador

Calcule "--sleep" como múltiplo del último tiempo SELECT.

Si se especifica esta opción, pt-archiver dormirá durante el tiempo de consulta del último
SELECT multiplicado por el coeficiente especificado.

Esta es una forma un poco más sofisticada de acelerar los SELECT: duerma un
cantidad de tiempo entre cada SELECT, dependiendo de cuánto tiempo estén tomando los SELECT.

--enchufe
formas cortas; tipo: cadena

Archivo de socket que se utilizará para la conexión.

--fuente
tipo: DSN

DSN que especifica la tabla desde la que archivar (obligatorio). Este argumento es un DSN. Ver
"OPCIONES DSN" para la sintaxis. La mayoría de las opciones controlan cómo pt-archiver se conecta a MySQL,
pero hay algunas opciones de DSN extendidas en la sintaxis de esta herramienta. La D, la t y la i
opciones seleccionar una tabla para archivar:

--fuente h = mi_servidor, D = mi_base de datos, t = mi_tbl

La opción a especifica la base de datos que se establecerá como la conexión predeterminada con USE. Si
la opción b es verdadera, deshabilita el registro binario con SQL_LOG_BIN. La opción m
especifica acciones conectables, que puede proporcionar un módulo Perl externo. Lo único
la parte requerida es la mesa; otras partes se pueden leer desde varios lugares en el
entorno (como archivos de opciones).

La parte 'i' merece una mención especial. Esto le dice a pt-archiver qué índice debe
escanear para archivar. Esto aparece en una sugerencia FORCE INDEX o USE INDEX en SELECT
declaraciones utilizadas para recuperar filas archivables. Si no especifica nada, pt-archiver
autodescubrirá un buen índice, prefiriendo una "LLAVE PRIMARIA" si existe. En mi
experimentar esto generalmente funciona bien, por lo que la mayoría de las veces probablemente pueda omitir el
'yo' parte.

El índice se utiliza para optimizar los accesos repetidos a la tabla; pt-archiver recuerda
la última fila que recupera de cada instrucción SELECT y la usa para construir un WHERE
cláusula, utilizando las columnas en el índice especificado, que debería permitir que MySQL inicie el
siguiente SELECCIONE dónde terminó el último, en lugar de escanear potencialmente desde el
comienzo de la tabla con cada SELECT sucesivo. Si está utilizando externos
complementos, consulte "EXTENDIENDO" para ver una discusión sobre cómo interactúan con los
índices

Las opciones 'a' y 'b' le permiten controlar cómo fluyen las declaraciones a través del binario
Iniciar sesión. Si especifica la opción 'b', el registro binario se desactivará en el
conexión. Si especifica la opción 'a', la conexión "UTILIZARÁ" la
base de datos, que puede utilizar para evitar que los esclavos ejecuten los eventos de registro binario
con las opciones "--replicate-ignore-db". Estas dos opciones se pueden utilizar como diferentes
métodos para lograr el mismo objetivo: archivar los datos del maestro, pero dejarlos en el
esclavo. Por ejemplo, puede ejecutar un trabajo de depuración en el maestro y evitar que
sucediendo en el esclavo usando su método de elección.

ADVERTENCIA: Utilizando una opción DSN de archivo de opciones predeterminado (F) que define un socket para
"--source" hace que pt-archiver se conecte a "--dest" usando ese socket a menos que otro
Se especifica socket para "--dest". Esto significa que pt-archiver puede conectarse incorrectamente
a "--source" cuando está destinado a conectarse a "--dest". Por ejemplo:

--fuente F = host1.cnf, D = db, t = tbl --dest h = host2

Cuando pt-archiver se conecta a "--dest", host2, se conectará a través de "--source",
host1, socket definido en host1.cnf.

--Estadísticas
Recopile e imprima estadísticas de tiempo.

Hace que pt-archiver recopile estadísticas de tiempo sobre lo que hace. Estas estadisticas
están disponibles para el complemento especificado por "--plugin"

A menos que especifique "--quiet", "pt-archiver" imprime las estadísticas cuando sale. El
las estadísticas se ven así:

Started at 2008-07-18T07:18:53, ended at 2008-07-18T07:18:53
Fuente: D = db, t = table
SELECCIONA 4
INSERTAR 4
BORRAR 4
Porcentaje de tiempo de recuento de acciones
cometer 10 0.1079 88.27
seleccionar 5 0.0047 3.87
suprimiendo 4 0.0028 2.29
insertando 4 0.0028 2.28
otro 0 0.0040 3.29

Las primeras dos (o tres) líneas muestran los tiempos y las tablas de origen y destino. El
las siguientes tres líneas muestran cuántas filas se obtuvieron, insertaron y eliminaron.

Las líneas restantes muestran recuentos y tiempos. Las columnas son la acción, el total
número de veces que se cronometró esa acción, el tiempo total que tomó y el porcentaje de
el tiempo de ejecución total del programa. Las filas están ordenadas en orden descendente de tiempo total. El
La última fila es el resto del tiempo que no se atribuye explícitamente a nada. Las acciones
varían según las opciones de la línea de comandos.

Si se da "--why-quit", su comportamiento cambia ligeramente. Esta opción hace que
imprime el motivo de la salida incluso cuando es solo porque no hay más filas.

Esta opción requiere el módulo estándar Time :: HiRes, que es parte del núcleo de Perl en
versiones de Perl razonablemente nuevas.

--parada
Detenga la ejecución de instancias creando el archivo centinela.

Hace que pt-archiver cree el archivo centinela especificado por "--sentinel" y salga.
Esto debería tener el efecto de detener todas las instancias en ejecución que estén observando
mismo archivo centinela.

--txn-tamaño
tipo: int; predeterminado: 1

Número de filas por transacción.

Especifica el tamaño, en número de filas, de cada transacción. Cero deshabilita las transacciones
en total. Después de que pt-archiver procesa esta cantidad de filas, confirma tanto
"--source" y "--dest" si se proporcionan, y vacía el archivo proporcionado por "--file".

Este parámetro es fundamental para el rendimiento. Si está archivando desde un servidor en vivo,
que, por ejemplo, está realizando un trabajo OLTP pesado, debe elegir un buen equilibrio entre
tamaño de la transacción y gastos generales de compromiso. Las transacciones más grandes crean la posibilidad de
más contención de bloqueo y puntos muertos, pero las transacciones más pequeñas causan más frecuentes
cometer gastos generales, que pueden ser importantes. Para dar una idea, en un pequeño conjunto de prueba,
con el que trabajó mientras escribía pt-archiver, un valor de 500 provocó que el archivo tardara aproximadamente 2
segundos por 1000 filas en una instancia de MySQL silenciosa en mi máquina de escritorio,
archivar en disco y en otra tabla. Deshabilitar transacciones con un valor de cero,
que activa la confirmación automática, redujo el rendimiento a 38 segundos por cada mil filas.

Si no está archivando desde o hacia un motor de almacenamiento transaccional, es posible que desee
deshabilite las transacciones para que pt-archiver no intente comprometerse.

--usuario
forma corta: -u; tipo: cadena

Usuario para iniciar sesión si no es el usuario actual.

--versión
Mostrar versión y salir.

- [no] verificación de versión
predeterminado: sí

Busque la última versión de Percona Toolkit, MySQL y otros programas.

Esta es una función estándar de "buscar actualizaciones automáticamente", con dos
características. Primero, la herramienta verifica la versión de otros programas en el sistema local en
además de su propia versión. Por ejemplo, verifica la versión de cada servidor MySQL.
se conecta a Perl y al módulo de Perl DBD :: mysql. En segundo lugar, comprueba y advierte
sobre versiones con problemas conocidos. Por ejemplo, MySQL 5.5.25 tenía un error crítico y
fue relanzado como 5.5.25a.

Cualquier actualización o problema conocido se imprime en STDOUT antes de la salida normal de la herramienta.
Esta característica nunca debe interferir con el funcionamiento normal de la herramienta.

Para más información visite .

--dónde
tipo: cadena

Cláusula WHERE para limitar qué filas archivar (obligatorio).

Especifica una cláusula WHERE para limitar qué filas se archivan. No incluyas la palabra
DONDE. Es posible que deba citar el argumento para evitar que su shell lo interprete.
Por ejemplo:

--donde 'ts <fecha_actual - intervalo de 90 días'

Por seguridad, se requiere "--donde". Si no necesita una cláusula WHERE, utilice
"--donde" 1 = 1.

--por qué dejar de fumar
Imprima el motivo de la salida a menos que se agoten las filas.

Hace que pt-archiver imprima un mensaje si sale por cualquier motivo que no sea el de ejecución
fuera de filas para archivar. Esto puede resultar útil si tiene un trabajo cron con "--run-time"
especificado, por ejemplo, y desea asegurarse de que pt-archiver esté terminando antes
quedarse sin tiempo.

Si se da "--statistics", el comportamiento cambia ligeramente. Imprimirá el
motivo para salir incluso cuando es solo porque no hay más filas.

Esta salida se imprime incluso si se da "--quiet". Eso es para que pueda poner "pt-archiver" en
un trabajo "cron" y recibir un correo electrónico si hay una salida anormal.

DSN CAMPUS


Estas opciones de DSN se utilizan para crear un DSN. Cada opción se da como "opción = valor".
Las opciones distinguen entre mayúsculas y minúsculas, por lo que P y p no son la misma opción. No puede haber
espacios en blanco antes o después del "=" y si el valor contiene espacios en blanco, se debe citar.
Las opciones de DSN están separadas por comas. Consulte la página de manual de percona-toolkit para obtener detalles completos.

· un

copia: no

Base de datos a USAR al ejecutar consultas.

· UNA

dsn: juego de caracteres; copia: si

Juego de caracteres predeterminado.

· B

copia: no

Si es verdadero, deshabilite binlog con SQL_LOG_BIN.

· D

dsn: base de datos; copia: si

Base de datos que contiene la tabla.

F

dsn: mysql_read_default_file; copia: si

Leer solo las opciones predeterminadas del archivo dado

· H

dsn: host; copia: si

Conéctese al anfitrión.

· I

copia: si

Índice a utilizar.

· I

copia: si

Habilite explícitamente LOAD DATA LOCAL INFILE.

Por alguna razón, algunos proveedores compilan libmysql sin --enable-local-infile
opción, que deshabilita la instrucción. Esto puede llevar a situaciones extrañas, como la
servidor que permite LOCAL INFILE, pero el cliente lanza excepciones si se utiliza.

Sin embargo, siempre que el servidor permita CARGAR DATOS, los clientes pueden volver a habilitarlo fácilmente; Ver
y
<http://search.cpan.org/~capttofu/DBD-mysql/lib/DBD/mysql.pm>. Esta opción hace
Exactamente eso.

Aunque no hemos encontrado ningún caso en el que activar esta opción produzca errores o diferencias
comportamiento, para estar seguro, esta opción no está activada de forma predeterminada.

· M

copia: no

Nombre del módulo de complemento.

· pag

dsn: contraseña; copia: si

Contraseña para usar al conectarse. Si la contraseña contiene comas, deben escaparse
con una barra invertida: "exam \, ple"

· PAG

dsn: puerto; copia: si

Número de puerto que se utilizará para la conexión.

· S

dsn: mysql_socket; copia: si

Archivo de socket que se utilizará para la conexión.

· T

copia: si

Tabla para archivar desde / hasta.

· U

dsn: usuario; copia: si

Usuario para iniciar sesión si no es el usuario actual.

EXTENSIÓN


pt-archiver es extensible conectando módulos externos de Perl para manejar algo de lógica y / o
comportamiento. Puede especificar un módulo para "--source" y "--dest", con la 'm'
parte de la especificación. Por ejemplo:

--fuente D = prueba, t = prueba1, m = Mi :: Módulo1 --dest m = Mi :: Módulo2, t = prueba2

Esto hará que pt-archiver cargue los paquetes My :: Module1 y My :: Module2, cree
instancias de ellos y luego realizar llamadas durante el proceso de archivo.

También puede especificar un complemento con "--plugin".

El módulo debe proporcionar esta interfaz:

nuevo (dbh => $ dbh, db => $ db_name, tbl => $ tbl_name)
Al constructor del complemento se le pasa una referencia al identificador de la base de datos, la base de datos
nombre y nombre de la tabla. El complemento se crea justo después de que pt-archiver abre el
conexión, y antes de examinar la tabla dada en los argumentos. Esto le da al
plugin una oportunidad para crear y completar tablas temporales, o realizar otro trabajo de configuración.

before_begin (cols => \ @cols, allcols => \ @allcols)
Este método se llama justo antes de que pt-archiver comience a recorrer filas y
archivarlos, pero después de hacer todo el resto del trabajo de configuración (examinar las estructuras de la mesa,
diseñar consultas SQL, etc.). Esta es la única vez que pt-archiver le dice al complemento
nombres de columna para las filas que pasará el complemento mientras se archiva.

El argumento "cols" son los nombres de las columnas que el usuario solicitó que se archivaran, ya sea por
predeterminado o por la opción "--columns". El argumento "allcols" es la lista de columnas
nombres para cada fila que pt-archiver obtendrá de la tabla fuente. Puede traer más
columnas que el usuario solicitó, porque necesita algunas columnas para su propio uso. Cuándo
las funciones de complemento posteriores reciben una fila, es la fila completa que contiene todos los
columnas, si las hay, agregadas al final.

is_archivable (fila => \ @row)
Este método se llama para cada fila para determinar si se puede archivar. Esta
se aplica solo a "--source". El argumento es la fila en sí, como una referencia de matriz. Si el
El método devuelve verdadero, la fila se archivará; de lo contrario, se omitirá.

Saltar una fila agrega complicaciones para índices no únicos. Normalmente pt-archiver utiliza un
Cláusula WHERE diseñada para apuntar a la última fila procesada como el lugar para comenzar el escaneo
para la siguiente instrucción SELECT. Si ha saltado la fila devolviendo falso de
is_archivable (), pt-archiver podría entrar en un bucle infinito porque la fila todavía
existe. Por lo tanto, cuando especifica un complemento para el argumento "--source", pt-archiver
cambiará ligeramente su cláusula WHERE. En lugar de comenzar en "mayor o igual que
a "la última fila procesada, comenzará" estrictamente mayor que ". Esto funcionará
bien en índices únicos como claves primarias, pero puede omitir filas (dejar huecos) en
índices no únicos o cuando asciende solo la primera columna de un índice.

"pt-archiver" cambiará la cláusula de la misma manera si especifica "--no-delete",
porque de nuevo es posible un bucle infinito.

Si especifica la opción "--bulk-delete" y devuelve falso desde este método,
Es posible que "pt-archiver" no haga lo que usted desea. La fila no se archivará, pero se
eliminado, ya que las eliminaciones masivas operan en rangos de filas y no saben qué filas
complemento seleccionado para mantener.

Si especifica la opción "--bulk-insert", el valor de retorno de este método influirá
si la fila se escribe en el archivo temporal para la inserción masiva, por lo que las inserciones masivas
funcionará como se esperaba. Sin embargo, las inserciones masivas requieren eliminaciones masivas.

before_delete (fila => \ @row)
Este método se llama para cada fila justo antes de que se elimine. Esto se aplica solo a
"--fuente". Este es un buen lugar para manejar dependencias, como eliminar
cosas que tienen una clave externa para la fila que está a punto de eliminar. También podrías usar
esto para archivar de forma recursiva todas las tablas dependientes.

Este método de complemento se llama incluso si se proporciona "--no-delete", pero no si
Se proporciona "--bulk-delete".

before_bulk_delete (first_row => \ @row, last_row => \ @row)
Este método se llama justo antes de que se ejecute una eliminación masiva. Es similar al
método "before_delete", excepto que sus argumentos son la primera y la última fila del rango
para ser eliminado. Se llama incluso si se proporciona "--no-delete".

before_insert (fila => \ @row)
Este método se llama para cada fila justo antes de que se inserte. Esto se aplica solo a
"--dest". Puede usar esto para insertar la fila en varias tablas, tal vez con un
ON cláusula DUPLICATE KEY UPDATE para crear tablas de resumen en un almacén de datos.

Este método no se llama si se proporciona "--bulk-insert".

before_bulk_insert (first_row => \ @row, last_row => \ @row, filename =>
Bulk_insert_filename)
Este método se llama justo antes de que se ejecute una inserción masiva. Es similar al
método "before_insert", excepto que sus argumentos son la primera y la última fila del rango
para ser eliminado.

custom_sth (fila => \ @row, sql => $ sql)
Este método se llama justo antes de insertar la fila, pero después de "before_insert ()". Eso
permite que el complemento especifique una declaración "INSERT" diferente si se desea. El regreso
value (si lo hay) debe ser un identificador de declaración DBI. El parámetro "sql" es el texto SQL
utilizado para preparar la instrucción "INSERT" predeterminada. Este método no se llama si
especificar "--bulk-insert".

Si no se devuelve ningún valor, se utiliza el identificador de instrucción "INSERT" predeterminado.

Este método se aplica solo al complemento especificado para "--dest", por lo que si su complemento no
haciendo lo que espera, verifique que lo haya especificado para el destino y no para el
.

custom_sth_bulk (first_row => \ @row, last_row => \ @row, sql => $ sql, nombre de archivo =>
$ bulk_insert_filename)
Si ha especificado "--bulk-insert", este método se invoca justo antes del bulk
insertar, pero después "before_bulk_insert ()", y los argumentos son diferentes.

El valor de retorno de este método, etc. es similar al "custom_sth ()"método.

después de terminar()
Este método se llama después de que pt-archiver sale del bucle de archivado, confirma toda la base de datos
maneja, cierra "--file" e imprime las estadísticas finales, pero antes de que se ejecute pt-archiver
ANALIZAR u OPTIMIZAR (consulte "--analizar" y "--optimizar").

Si especifica un complemento para "--source" y "--dest", pt-archiver construye, llama
before_begin ()y llama después de terminar() en los dos complementos en el orden "--source",
"--dest".

pt-archiver asume que controla las transacciones y que el complemento NO se comprometerá ni se lanzará
retrocede el identificador de la base de datos. El identificador de la base de datos pasado al constructor del complemento es el
mismo identificador que pt-archiver se usa a sí mismo. Recuerde que "--source" y "--dest" están separados
manejas.

Un módulo de muestra podría verse así:

paquete Mi :: Módulo;

sub nuevo {
my ($ clase,% argumentos) = @_;
return bendiga (\% args, $ clase);
}

sub antes_comenzar {
my ($ self,% args) = @_;
# Guarde los nombres de las columnas para más tarde
$ self -> {cols} = $ args {cols};
}

sub es_archivable {
my ($ self,% args) = @_;
# Haz algo de lógica avanzada con $ args {row}
1 regresar;
}

sub before_delete {} # No realizar ninguna acción
sub before_insert {} # No realizar ninguna acción
sub custom_sth {} # No realizar ninguna acción
sub after_finish {} # No realizar ninguna acción

1;

MEDIO AMBIENTE


La variable de entorno "PTDEBUG" habilita la salida de depuración detallada a STDERR. Para permitir
depurar y capturar toda la salida en un archivo, ejecute la herramienta como:

PTDEBUG = 1 pt-archivador ...> ARCHIVO 2> & 1

Tenga cuidado: la salida de depuración es voluminosa y puede generar varios megabytes de salida.

SISTEMA REQUISITOS


Necesita Perl, DBI, DBD :: mysql y algunos paquetes centrales que deberían instalarse en cualquier
versión razonablemente nueva de Perl.

Utilice pt-archiverp en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    DivKit
    DivKit
    DivKit es un servidor de código abierto
    Marco de interfaz de usuario (SDUI). Te permite
    implementar actualizaciones provenientes del servidor para
    diferentes versiones de la aplicación. Además, puede ser
    usado para ...
    Descargar DivKit
  • 2
    subconvertidor
    subconvertidor
    Utilidad para convertir entre varios
    formato de suscripción. Usuarios de cohetes sombríos
    debe usar ss, ssr o v2ray como destino.
    Puede agregar &remark= a
    HT similar a Telegram...
    Descargar subconvertidor
  • 3
    CHAPOTEO
    CHAPOTEO
    SWASH es un numérico de propósito general
    herramienta para simular inestabilidad,
    no hidrostático, de superficie libre,
    fenómenos de transporte y flujo rotacional
    en aguas costeras como ...
    Descargar SWASH
  • 4
    VBA-M (Archivado - Ahora en Github)
    VBA-M (Archivado - Ahora en Github)
    El proyecto se ha trasladado a
    https://github.com/visualboyadvance-m/visualboyadvance-m
    caracteristicas:Creación de trucosguardar estadosmulti
    sistema, compatible con gba, gbc, gb, sgb,
    sgb2tu...
    Descargar VBA-M (Archivado - Ahora en Github)
  • 5
    Stacer
    Stacer
    Optimizador y monitorización del sistema Linux
    Repositorio de Github:
    https://github.com/oguzhaninan/Stacer.
    Público: Usuarios finales / Escritorio. Usuario
    interfaz: Qt. Programando La...
    Descargar Stacer
  • 6
    NaranjaZorro
    NaranjaZorro
    Bifurcación de TeamWinRecoveryProject (TWRP)
    con muchas funciones adicionales, rediseño
    y más funciones: admite agudos y
    ROM no Treble Kernel Oreo actualizado,
    construido...
    Descargar Orange Fox
  • Más "

Comandos de Linux

  • 1
    aa-clickhook
    aa-clickhook
    aa-clickhook - enlace del sistema de clics para
    AppArmor DESCRIPCIÓN: Cuando un clic
    el paquete está instalado, haga clic en ejecutar
    ganchos del sistema y del usuario. el clic
    Sistema AppArmor...
    Ejecutar aa-clickhook
  • 2
    aa-clickquery
    aa-clickquery
    aa-clickquery - programa para consultar
    click-apparmor DESCRIPCIÓN: Este programa
    se utiliza para consultar click-apparmor para
    información. USO: aa-clickquery
    --clic-fra...
    Ejecutar aa-clickquery
  • 3
    cqrlog
    cqrlog
    CQRLOG: programa de registro avanzado para
    operadores de radioaficionados DESCRIPCIÓN: CQRLOG
    es un registrador de radioaficionado avanzado basado en
    Base de datos MySQL. Proporciona control por radio
    licenciado en Letras...
    Ejecutar cqrlog
  • 4
    cramfsswap
    cramfsswap
    cramfsswap - intercambio endianess de un cram
    sistema de archivos (cramfs) ...
    Ejecutar cramfsswap
  • 5
    FvwmEvento
    FvwmEvento
    FvwmEvent: el módulo de eventos fvwm...
    Ejecutar FvwmEvent
  • 6
    FvwmForm
    FvwmForm
    FvwmForm - módulo de formulario de entrada para Fvwm ...
    Ejecutar FvwmForm
  • Más "

Ad