Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
tecnica:anotaciones_tecnicas [2020/02/27 07:43] fmolinuevo [Para buscar qué paquete contiene un archivo dado] |
tecnica:anotaciones_tecnicas [2023/07/28 20:49] (actual) fmolinuevo [Ver el tamaño de todas las tablas y mostrarlos en orden] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Anotaciones técnicas generales ====== | ====== Anotaciones técnicas generales ====== | ||
- | //Por el equipo de [[fmsi>|FMSI Sistemas de Informática]]// | + | //Por el equipo de [[axr>|AXR Sistemas de Informática]]// |
Línea 331: | Línea 331: | ||
# Todas las tablas de todas las bases de datos, para un usuario específico ingresando desde cualquier host (superuser) | # Todas las tablas de todas las bases de datos, para un usuario específico ingresando desde cualquier host (superuser) | ||
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' IDENTIFIED BY 'contraseña' WITH GRANT OPTION; | GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' IDENTIFIED BY 'contraseña' WITH GRANT OPTION; | ||
+ | |||
+ | ==== Agregar un usuario root ==== | ||
+ | |||
+ | CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD'; | ||
+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; | ||
+ | FLUSH PRIVILEGES; | ||
==== Realizar una copia de resguardo completa de una base de datos ==== | ==== Realizar una copia de resguardo completa de una base de datos ==== | ||
Línea 347: | Línea 353: | ||
</code> | </code> | ||
+ | ==== Ver el tamaño de todas las bases de datos ==== | ||
+ | |||
+ | <code> | ||
+ | SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema; | ||
+ | </code> | ||
+ | |||
+ | ==== Ver el tamaño de todas las tablas y mostrarlos en orden ==== | ||
+ | |||
+ | <code> | ||
+ | SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "database_name" ORDER BY (data_length + index_length) DESC; | ||
+ | </code> | ||
===== Analizar cuánta memoria usa un proceso ===== | ===== Analizar cuánta memoria usa un proceso ===== | ||
Línea 367: | Línea 384: | ||
==== Usuarios: operaciones varias ==== | ==== Usuarios: operaciones varias ==== | ||
- | Renombrar un usuario (el ownership de los archivos se mantiene porque no se cambia el UID): | + | Renombrar un usuario (el ownership de los archivos y la pertenencia a grupos se mantienen porque no se cambia el UID): |
usermod --login new_username --move-home --home path_to_the_new_home_dir old_username | usermod --login new_username --move-home --home path_to_the_new_home_dir old_username | ||
Línea 375: | Línea 392: | ||
groupmod --new-name new_username old_username | groupmod --new-name new_username old_username | ||
- | ==== Para buscar qué paquete contiene un archivo dado ==== | + | ==== RPM: buscar qué paquete contiene un archivo dado ==== |
rpm -qf $(which archivo) | rpm -qf $(which archivo) | ||
Línea 465: | Línea 482: | ||
find . ! -perm -g+w | find . ! -perm -g+w | ||
+ | === Buscar todos los archivos de un directorio modificados luego del momento indicado, y copiarlos a otro servidor === | ||
+ | |||
+ | Nota: el comando find crea un listado de archivos, que luego envía al rsync y éste los copia al destino en una sola conexión. Lo usé en Tascani | ||
+ | |||
+ | find /srv/archivos/DiscoG -type f -newermt '20210101 00:00:00' -print0 | rsync -av --progress -0 --files-from=- / root@172.20.0.1:/srv/archivos | ||
==== Cancelar mensajes por consola ==== | ==== Cancelar mensajes por consola ==== | ||
Línea 494: | Línea 516: | ||
* **C-y**: restaura lo borrado con alguno de los comandos anteriores | * **C-y**: restaura lo borrado con alguno de los comandos anteriores | ||
+ | ==== Cómo hacer un hard reset para shutdown o reboot por línea de comandos ==== | ||
+ | |||
+ | Es útil cuando tenemos un servidor totalmente colgado y no podemos reiniciarlo con un shutdown o systemctl normal, pero sabemos que probablemente inicie correctamente luego del reboot. | ||
+ | |||
+ | Primero se sugiere realizar un sync de emergencia de los discos con: | ||
+ | |||
+ | sh -c "echo s > /proc/sysrq-trigger" | ||
+ | |||
+ | Hard shutdown: | ||
+ | |||
+ | sh -c "echo o > /proc/sysrq-trigger" | ||
+ | |||
+ | Hard restart: | ||
+ | |||
+ | sh -c "echo b > /proc/sysrq-trigger" | ||
+ | |||
+ | ==== Manejo de unidades/discos extraíbles ==== | ||
+ | |||
+ | Se puede utilizar el comando **udisksctl**, que es parte del paquete **udisksd**. | ||
+ | |||
+ | Mostrar el listado de unidades extraíbles: | ||
+ | |||
+ | udisksctl status | ||
+ | |||
+ | Mostrar información sobre un dispositivo de bloques: | ||
+ | |||
+ | udisksctl info -b /dev/nvme0n1 | ||
+ | |||
+ | Apagar una unidad: | ||
+ | udisksctl power-off -b /dev/sdb | ||
===== X Window System ===== | ===== X Window System ===== | ||