Query SQL per exportar els productes de woocommerce
SELECT p.ID, p.post_title 'Name', p.post_content 'Description', IF (meta.meta_key = '_sku', meta.meta_value, null) 'SKU', IF (meta.meta_key = '_price', meta.meta_value, null) 'Price', IF (meta.meta_key = '_weight', meta_value, null) 'Weight' [...]
posar la data al log del kernel (dmesg)
date | sudo tee /dev/kmsg
Parar un servei de windows que no respon
A vegades al intentar aturar un servei, per exemple Windows Update, no podem amb ni amb l'interfície gràfica ni amb la consola... net stop wuauserv entrem [...]
Veure connexions per IP
Ens mostra quantes connexions hi ha agrupades per IP. Útil per identificar un atac DoS. netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r Veure [...]
Operadors per comprovar propietats de fitxers i directoris
-e el fitxer existeix -s el fitxer existeix i no és buid -d és un directori -h és un enllaç simbòlic -r tenim permís de lectura -w [...]
Accedir com administrador al MySQL de plesk
Per poder treballar amb totes les bases de dades per exemple. mysql -uadmin -p`cat /etc/psa/.psa.shadow`
Accedir a les opcions avançades d’un portàtil LG gram
Al veure el logo d'LG... Matenim apretat F10 per veure seleccionar el dispositiu que voleu fer boot Matenim apretat F2 pe accedir a la BIOS Un cop [...]
Reduïr mida d’un fitxer PDF amb linux
Podeu utiltizar GhostScript... gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Veure les taules més grans d’una base de dades MySQL
Amb la següent instrucció veure ma mida de cada taula, ordenades de més grans a més petites... SELECT table_name , round(((data_length + index_length) / 1024 / 1024), [...]
Optimitzar el temps d’inici d’Ubuntu (o qualsevol sistema basat en systemd)
Primer ens convés saber quan tarda el sistema a engegar... systemd-analyze Veure el detall de cada servei... systemd-analyze blame Un cop identificat el servei que [...]
Ping amb timeout
Amb linux, si es perden pings no es veu al moment. Podem afegir aquestes opcions ... ping -D -O 8.8.8.8 Si ho volem fer per [...]
Unir fitxers PDF
Necessitem el paquet poppler-utils, per tant, l'instal·lem... apt-get install poppler-utils Un cop instal·lat, ja podem unir els fitxers... pdfunite /ruta/als/fitxers/origen/*.pdf /ruta/al/fitxer/desti.pdf
Veure els últims treballs impresos des de la consola
lpstat -W completed
Provar email relay amb telnet
$ telnet localhost Trying localhost Connected to localhost. Escape character is '^]'. 220 devphp ESMTP Postfix (Ubuntu) ehlo prova 250-devphp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES [...]
Copiar fitxers recursivament entre servidors ESXi de VMWare
scp -v -c aes128-ctr -r /directori/origen/* USER@IP_ADDRESS:/directori/desti/
Connectar a un servidor SSH antic
En cas que veiem aquest error: Unable to negotiate with IP_ADDRESS port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 Ens podem connectar modificant la [...]
Enviar emails amb php y MySQL
<!-- inici header --> <!DOCTYPE html> <html lang="ca"> <head> <title>ENVIAR EMAILS CONSULTANT BASE DE DADES</title> <link rel="stylesheet" href="estil.css"> <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> <meta charset="UTF-8"> <meta name="keywords" [...]
Veure serveis habilitats amb systemd
Podem veure tots els serveis que s'engeguen a l'inici amb aquesta comanda... systemctl list-unit-files | grep enabled per aturar i desactivar l'inici d'AnyDesk ... systemctl list-unit-files [...]
Descarregar i guardar localment una web
wget --mirror -p --convert-links -P ./carpeta_desti https://www.domini.tld
SSH port forwarding (o túnell SSH)
En aquest exemple, aconseguim accedir via VNC a una màquina sense cap port directe obert al router (NAT). Els servidor VNC utilitza el port 5900 i la [...]
Veure totes les tasques programades de tots els usuaris amb crontab
Per llistar el contingut de tots els crontab de tots els usuaris del sistema, podem executar aquest codi... for user in $(cut -f1 -d: /etc/passwd); do echo [...]
Veure tots els processos de totes les bases de dades
En un servidor gestionat amb plesk panel, podem veure totes les sentències que s'executen a totes les bases de dades amb aquesta comada... MYSQL_PWD=`cat /etc/psa/.psa.shadow` mytop -uadmin [...]
Descarregar automàticament d’una bústia POP3 amb bash
El seguënt document explica com descarregar automàticament els fitxers d'una bústia de correu POP3 i extreure'n els fitxers adjunts. Hem de tenir instal·lats els següents paquets... apt-get [...]
Error a la comunicació de retorn entre Apache i OpenID
Després de muntar l'openID amb Apache i Google ens podem trobar que la redirecció després del login no fuciona, donant un error al cap d'una bona estona. [...]
Autenticació amb Apache i OpenID
Tot i que pot servir per a qualsevol proveïdor que disposi d'una API amb OpenID, aquest document es centre amb Google. Per tal de fer aquesta autenticació, [...]
Tallar video amb ffmpeg
Amb linux hi ha múltiples eines lliures i gratuïtes per fer-ho. En aquest exmple, farem servir ffmpeg amb Ubuntu, tot i que també es pots trobar per [...]
Desactivar serveis de l’inici
Per veure veure els seveis activats... systemctl list-unit-files | grep enabled acpid.path enabled cups.path enabled accounts-daemon.service enabled anacron.service enabled snapd.snap-repair.timer enabled Per evitar que CUPS s'engegui [...]
MySQL i PHP connexió bàsica
Per mostrar els resultat d'una consulta a un servidor MySQL amb PHP, el més senzill és quelcom similar a això... // Dades de connexió... $link=mysqli_connect("servidor","usuari","contrasenya","nom_basededades"); // [...]
Opcions de configuració de l’històric de BASH
El fitxer .bashrc que trobem al l'arrel de cada usuari (~/.bashrc) té moltes opcions de configuració. Pel què fa a les relacionades amb l'històric de comandes que [...]
Dades per configurar el correu de IONOS (1and1) a partir del 2019
Per tal de configurar qualsevol client de correu (Outlook, Thunderbird, Mail, etc.) o dispositiu mòbil... usuari: email contrasenya: XXXXXX Webmail: https://mail.ionos.es/ Servidor IMAP: imap.ionos.es (SSL port 993) [...]
Com crear un registre de correus electrònics enviats amb un script PHP
Si tenim un servidor que sospitem que pot generar SPAM des d'un script PHP, podem crear un fitxer de log per tal de veure quin fitxer l'està [...]
Buscar fitxers grans amb bash
llistem el 10 fitxers més grans dins el directori actual (recursivament)... find ./ -type f -printf '%s %p\n'| sort -nr | head -n 10 el mateix [...]
Ús bàsic de wget
Útil per executar un script sense guardar tenir en compte la resposta (l'enviem a /dev/null) ... wget -q -O /dev/null http://domini.tld/script.php Limitar la velocitat a 500 [...]
Ús bàsic de for amb bash
Exemple per fer còpia de totes les bases de dades del servidor... basesdedades=$(mysql -u usuari -pCONTRASENYA -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)") for db in $basesdedades [...]
Utilització bàsica de tar
creem un fitxer comprimit amb Gzip amb tot els sistem, excloent el propi fitxer... tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system llistar i filtrar... tar -tvf fitxer.tar | [...]
buscar fitxers modifcats entre dues dates
buscarem fitxers modificats en les 00:00:00 del dia 11-03-2010 i les 00:00:00 del dia 14-03-2010 ... find . -type f -newermt 2010-03-11 ! -newermt 2010-03-14
Còpia i restauració d’una base de dades MySQL
Manera ràpida de fer backup i restore d'una base de dades. còpia... mysqldump -u usuari -p -h localhost nom_base_de_dades > fitxer_bak.sql restauració... mysql -u usuari -p [...]
Tractament d’imatges amb bash
exemple que processa les imatges del directori actual (només les modificades els últims 5 dies) i les redimensiona a 125x125 píxels (posant-les al directori ../125)... for fitxer [...]
Exemple de while amb bash
Recòrrer un fitxer i mostrar línia a línia ... while read linia do echo linia done < /ruta/al/fitxer
Evaluar si fitxer s’ha modificar els últims N dies
Aquest exemple, evalua si una imatge s'ha modificat durant els últims 2 dies, si fa més dies que s'ha modificat, no fa res... nom_imatge_sense_extensio="imatge1" [[ ! -z [...]
Condicionals amb BASH (if else)
Ús molt bàsic de condicionals amb BASH. Evaluem si estem a l'any 2018 o no ... #!/bin/bash any_actual=`date +%Y` if [ "$any_actual" = "2018" ] then echo [...]
Substituïr cometes dobles per dobles i contrabarra
Útil per quan tenim cadenes que contenen cometes dobles (") i necessitem escapar-les amb contrabarra (\") sed>productes.csv 's:":\\":g' fitxer.csv
Substituïr cometes simples per dobles
Podem fer servir vàries eines, però una de ràpida i senzilla és sed sed>prod_temp 's/\x27/"/g' fitxer.csv
Crear un fitxer amb la data actual al nom
Molt útil per fer rotació de logs, backups, ... zip /var/log/nou_log`date +%m`.zip /var/log/nou_log.log Si ho posem al crontab, cada mes tindrem quelcom com... /var/log/nou_log01.zip # gener [...]
Canviar el port on escolta Apache per un sol host virtual
Editem el fitxer del vhost en qüestió... nano /var/www/vhosts/system/NOM_VHOST/conf/httpd.conf i canviem el port 80 pel què ens convingui finalment, reiniciem Apache... /etc/init.d/apache2 restart ull! aquest [...]
mysqldump errno: 24 – Too many open files
Al fer la còpia d'una base de dades MySQL amb mysqldump, podem trobar aquest error... user@server:# mysqldump>bdd_bak.sql -h servidor_mysql -pcontrasenya -u usuari nom_bdd mysqldump: [Warning] Using a [...]
Autenticació amb clau pública sense contrasenya
Per tal de connectar-vos a un servidor SSH sense password, cal que executem el següent a la màquina client... ssh-keygen -t rsa ssh USUARI_REMOT@SERVIDOR_REMOT mkdir -p .ssh [...]
Assigar el fus horari a un servidor Ubuntu
Per tal que el servidor estigui al fus horari que ens toca, només cal executar aquest comanda com a root... timedatectl set-timezone Europe/Madrid
Afegir CAPTCHA al formulari per defecte de prestashop 1.6
Cridem el codi de Google amb el header... <script src='https://www.google.com/recaptcha/api.js'></script> A la funció postProcess, hi afegim la validació (linies 54 i 55)... $this->errors[] = [...]
Gestió bàsica RAID
Tota la infomaració dels volums... vgdisplay Veure mida total del volum... pvs Com està repartit l'espai ocupat... lvs Les següents línies [...]
Funcionament bàsic GIT
#### com usuari git... cd /home/git git init --bare nom_repositori.git #### com a root... cd /ruta/al/codi git init && git remote add origin git@domini.tld:nom_repositori.git git add [...]
Ressaltar codi amb wordpress
Podem utilitzar el pluginSyntaxHighlighter Evolved: https://wordpress.org/plugins/syntaxhighlighter/ Opcions disponibles: autolinks > link URL automàticament: true / false classname > classe extra: string collapse > replegar el bloc de [...]
Redireccionar recursivament
Podem redireccionar recursivament qualsevol petició web (es pot posar URL o fitxer, a la tercera linia). Per fer-ho, afegim les següents línies al fitxer .htaccess RewriteEngine on [...]