Kategória: Egyéb

  • Proxmox sas disk temp

    #!/bin/bash
    
    echo "=== SATA / SAS diszkek hőmérséklete ==="
    for disk in /dev/sd?; do
        temp=$(smartctl -A "$disk" 2>/dev/null | awk '/Temperature_Celsius|Temperature:/ {print $NF}' | head -n1)
        
        # Ha nem szám, próbáld SCSI móddal
        if ! [[ "$temp" =~ ^[0-9]+$ ]]; then
            temp=$(smartctl -d scsi -A "$disk" 2>/dev/null | awk '/Current Drive Temperature:/ {print $4}')
        fi
    
        model=$(smartctl -i "$disk" 2>/dev/null | awk -F: '/Model|Device Model|Product/ {print $2}' | head -n1 | xargs)
        
        if [[ "$temp" =~ ^[0-9]+$ ]]; then
            echo "$disk ($model): ${temp}°C"
        else
            echo "$disk ($model): nincs adat"
        fi
    done
    
    echo
    echo "=== NVMe diszkek hőmérséklete ==="
    for nvme in /dev/nvme?n?; do
        temp=$(nvme smart-log "$nvme" 2>/dev/null | awk '/temperature/ {print $3; exit}')
        model=$(nvme id-ctrl "$nvme" 2>/dev/null | awk -F: '/mn/ {print $2}' | xargs)
        
        if [[ "$temp" =~ ^[0-9]+$ ]]; then
            echo "$nvme ($model): ${temp}°C"
        else
            echo "$nvme ($model): nincs adat"
        fi
    done
  • Node red function block Loxone és huemagic közé

    // Bemenet például: 100000095
    let raw = msg.payload.toString().padStart(9, '0');  // Mindig 9 számjegy
    
    // B: első 3 karakter, G: következő 3, R: utolsó 3
    let b_percent = parseInt(raw.slice(0, 3));
    let g_percent = parseInt(raw.slice(3, 6));
    let r_percent = parseInt(raw.slice(6, 9));
    
    // Átváltjuk RGB-re (0–255 skála)
    let r = Math.round(r_percent * 255 / 100);
    let g = Math.round(g_percent * 255 / 100);
    let b = Math.round(b_percent * 255 / 100);
    
    // Kimenet a kívánt formátumban
    msg.payload = {
        rgb: [r, g, b]
    };
    
    return msg;
  • Proxmox raw disk import mizériák

    A /dev/zvol/Stor könyvtárban:
    
    A vm-XXX-disk-0 nevek szimbolikus linkek, amelyek ZFS volumeneket (ZVOL) mutatnak a /dev/zdX eszközök felé.
    
    A win11.raw viszont egy sima fájl, amit te manuálisan másoltál oda. Ez a gond.
    
    🔥 Probléma:
    A /dev/zvol/Stor/ nem való fájlok (.raw, .qcow2, stb.) tárolására. Ez a könyvtár a ZFS által automatikusan kezelt blokk eszközök helye, és amit itt fájlként létrehozol (win11.raw), azt:
    
    nem fogja felismerni a Proxmox,
    
    nem használhatod VM diszként,
    
    és valójában "nem ide való" — ez a /dev/ alatti eszközfájlokat tartalmazza, nem adatfájlokat.
    
    ✅ Mit tehetsz most win11.raw-val?
    1. Konvertáld ZVOL-lá és add hozzá a VM-hez
    Ez a „Proxmox-barát” megoldás.
    
    Lépések:
    bash
    Másolás
    Szerkesztés
    # Példa: VM 104-hez adod hozzá, 127G méret
    zfs create -V 127G Stor/vm-104-disk-0
    
    # Másold bele a raw fájlt:
    dd if=/dev/zvol/Stor/win11.raw of=/dev/zvol/Stor/vm-104-disk-0 bs=4M status=progress
    
    # (Alternatívaként: ha a win11.raw nem volt ZVOL forrás, simán másold fájlként is)
    # Add hozzá a VM-hez:
    qm set 104 -scsi0 Stor/vm-104-disk-0
    Ha még nem létezik a VM 104, előbb hozz létre egyet:
    
    bash
    Másolás
    Szerkesztés
    qm create 104 --name win11 --memory 4096 --cores 2 --scsihw virtio-scsi-pci
    2. Vagy helyezd át a .raw fájlt egy "Directory" típusú tárolóba
    Ha van ilyen storage-od (pl. local), akkor:
    
    bash
    Másolás
    Szerkesztés
    mkdir -p /var/lib/vz/images/104/
    mv /dev/zvol/Stor/win11.raw /var/lib/vz/images/104/vm-104-disk-0.raw
    Majd GUI-ból vagy CLI-ből:
    
    bash
    Másolás
    Szerkesztés
    qm set 104 -ide0 local:104/vm-104-disk-0.raw
    🧹 Extra javaslat:
    Töröld a nem oda való fájlt a /dev/zvol alól:
    
    bash
    Másolás
    Szerkesztés
    rm /dev/zvol/Stor/win11.raw
    Ez egy fontos karbantartási lépés, mivel /dev egy dinamikus eszközkönyvtár — nem való bele hagyományos fájl.
  • qemu-img disk konvertálás

    qemu-img convert -p -f vhdx -O qcow2 bemenet.vhdx kimenet.qcow2
    qemu-img convert -p -f vhdx -O raw bemenet.vhdx kimenet.raw
  • lm-sensors

    sudo apt install lm-sensors 
  • Másolás rsync-el

    sudo rsync -ah –progress /mnt/hyperv/ /mnt/vmstore/

  • WordPress telepítése dockerbe, SSL-el

    nano install.sh
    #!/bin/bash
    
    set -e
    
    # 🔧 Beállítások (módosítsd vagy add át env változóként)
    DOMAIN="${DOMAIN:-example.local}"
    EMAIL="${EMAIL:-admin@example.local}"
    
    echo "📦 Teljes HTTPS-es WordPress stack telepítése Dockerrel"
    echo "🌐 DOMAIN: $DOMAIN"
    echo "📧 EMAIL:  $EMAIL"
    
    echo "🧹 Előző konténerek eltávolítása, ha léteznek..."
    docker rm -f wp-site wp-mysql nginx-proxy nginx-letsencrypt 2>/dev/null || true
    
    echo "📁 Projektmappa létrehozása: wordpress-ssl"
    mkdir -p wordpress-ssl
    cd wordpress-ssl
    
    echo "📄 docker-compose.yml generálása..."
    
    cat > docker-compose.yml <<EOF
    services:
      nginx-proxy:
        image: jwilder/nginx-proxy
        container_name: nginx-proxy
        restart: always
        ports:
          - "80:80"
          - "443:443"
        volumes:
          - ./certs:/etc/nginx/certs:ro
          - ./vhost.d:/etc/nginx/vhost.d
          - ./html:/usr/share/nginx/html
          - /var/run/docker.sock:/tmp/docker.sock:ro
    
      letsencrypt:
        image: jrcs/letsencrypt-nginx-proxy-companion
        container_name: nginx-letsencrypt
        restart: always
        depends_on:
          - nginx-proxy
        environment:
          - NGINX_PROXY_CONTAINER=nginx-proxy
        volumes:
          - ./certs:/etc/nginx/certs
          - ./vhost.d:/etc/nginx/vhost.d
          - ./html:/usr/share/nginx/html
          - /var/run/docker.sock:/var/run/docker.sock:ro
    
      mysql:
        image: mysql:5.7
        container_name: wp-mysql
        restart: always
        environment:
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wpuser
          MYSQL_PASSWORD: wppass
          MYSQL_ROOT_PASSWORD: wpadmin
        volumes:
          - wp_db:/var/lib/mysql
    
      wordpress:
        image: wordpress
        container_name: wp-site
        restart: always
        environment:
          - WORDPRESS_DB_HOST=wp-mysql:3306
          - WORDPRESS_DB_USER=wpuser
          - WORDPRESS_DB_PASSWORD=wppass
          - WORDPRESS_DB_NAME=wordpress
          - VIRTUAL_HOST=${DOMAIN}
          - LETSENCRYPT_HOST=${DOMAIN}
          - LETSENCRYPT_EMAIL=${EMAIL}
        volumes:
          - wp_data:/var/www/html
        expose:
          - "80"
    
    volumes:
      wp_data:
      wp_db:
    EOF
    
    echo "🚀 Stack elindítása..."
    docker compose up -d
    
    echo "⏳ Várj kb. 1 percet a tanúsítvány lekéréséhez..."
    echo "🔗 Nyisd meg a WordPress-t böngészőben: https://${DOMAIN}"
    
    export DOMAIN="pelda.hu"
    export EMAIL="admin@pelda.hu"
    chmod +x install.sh
    ./install.sh
  • SMB felcsatolása

    sudo mkdir -p /mnt/backup
    sudo mount -t cifs //192.168.1.100/backup /mnt/backup -o username=user,password=jelszo,uid=$USER,gid=$USER
    
    🔧 Lépések egy SMB megosztás automatikus felcsatolásához fstab-bal
    Tegyük fel:
    
    SMB megosztás: //192.168.1.100/backup
    
    Célmappa: /mnt/backup
    
    Felhasználónév: user
    
    Jelszó: jelszo
    
    
    
    FSTAB
    
    sudo mkdir -p /mnt/backup
    
    sudo nano /etc/smb-credentials
    
    username=user
    password=jelszo
    
    sudo chmod 600 /etc/smb-credentials
    
    sudo nano /etc/fstab
    
    //192.168.1.100/backup  /mnt/backup  cifs  credentials=/etc/smb-credentials,uid=1000,gid=1000,iocharset=utf8,noperm  0  0
    
    sudo mount -a
    
    ls /mnt/backup
    
    Ha nem akarsz külön hitelesítési fájlt (credentials=...) használni, akkor a felhasználónevet és jelszót közvetlenül is beírhatod az /etc/fstab sorba. Ez kevésbé biztonságos, de működik.
    
    //192.168.1.100/backup  /mnt/backup  cifs  username=user,password=jelszo,uid=1000,gid=1000,iocharset=utf8,noperm  0  0
    
    sudo mount -a