Aquest script està fet en Bash (Bourne Again Shell), que és el llenguatge de scripting per defecte en la majoria de sistemes Linux/Unix, incloent-hi el Synology DSM.
backup_polidic.sh
==================
#!/bin/bash
# sudo chmod +x /usr/local/bin/backup_polidic.sh
# sudo cp /volume2/web/backup_polidic.sh /usr/local/bin/
# sudo chmod +x /usr/local/bin/backup_polidic.sh //executa
# sudo sed -i 's/\r$//' /usr/local/bin/backup_polidic.sh --> ELIMINA ELS RETORN DE CARRO
# sudo chmod +x /usr/local/bin/backup_polidic.sh --> COMPROVA QUE SEGUEIX SENT EXECUTABLE
# Llista de bases de dades a copiar (separades per espais)
DB_LIST=("polidic_por" "polidic_cat" "encara_una_mes")
DB_USER="root"
DB_PASS="B*********!"
BACKUP_DIR="/volume2/MySQL_backup/polidic"
DATE=$(date +"%Y-%m-%d_%H-%M")
# Comprovar que la carpeta existeix
if [ ! -d "$BACKUP_DIR" ]; then
echo "ERROR: El directori $BACKUP_DIR no existeix."
exit 1
fi
# Bucle per cada base de dades
for DB_NAME in "${DB_LIST[@]}"; do
FILE="$BACKUP_DIR/${DB_NAME}_$DATE.sql.gz"
echo "Fent backup de la base de dades: $DB_NAME..."
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" | gzip > "$FILE"
if [ $? -eq 0 ]; then
echo "Backup complet: $FILE"
else
echo "ERROR durant el backup de $DB_NAME"
fi
done
comprovem:
ls -l /volume2/web/backup_polidic.sh
ls -l /volume2/web/backup_beseit.sh
sudo /usr/local/bin/backup_polidic.sh // executa el script
ls -l /usr/local/bin/backup_polidic.sh // comprova el directori i privilegis

Si l’escrip ja está instal·lat entrem:
1) Comprovar que pots entrar per SSH al Synology
Des de Windows obrim Powershell com administrador
PS C:\WINDOWS\system32> ssh urqtejmi@192.168.1.41
urqtejmi@192.168.1.41’s password:
Codi
ssh urqtejmi@192.168.1.41
Comprovar que l’script funciona manualment (opcional)
sudo /usr/local/bin/backup_polidic.sh
Elimina els retorn de carro:
sudo sed -i 's/\r$//' /usr/local/bin/backup_polidic.sh
dona permisos d’execució:
sudo chmod +x /usr/local/bin/backup_polidic.sh
✅ Per què Bash ÉS potent (Els seus superpoders)
- Accés directe al sistema operatiu:
- Bash no és només un llenguatge; és una interfície directa amb el nucli de Linux. Pots controlar permisos, processos, xarxa, fitxers i dispositius amb una sola línia.
- Exemple:
find /volume2 -name "*.sql" -mtime +7 -delete(troba i esborra fitxers antics) és molt més directe que fer-ho en un llenguatge d’alt nivell.
- Composició amb “Pipes” (
|):- La capacitat d’encadenar comandes és brutal. Pots agafar la sortida d’una eina i passar-la a una altra fàcilment.
- El teu exemple:
mysqldump ... | gzip > fitxer.sql.gz. Això fa un backup i el comprimeix al vol, sense crear fitxers temporals gegants.
- Portabilitat i Ubiquitat:
- Bash (o sh compatible) existeix a gairebé qualsevol sistema Unix/Linux, des d’un router fins a un superordinador. Un script ben fet avui funcionarà d’aquí a 10 anys.
- Ideal per a “Glue Code” (Codi enganxina):
- És perfecte per unir eines que ja existeixen. No necessites reinventar la roda; només cridar
mysqldump,curl,ssh,rsync, etc., i coordinar-les.
- És perfecte per unir eines que ja existeixen. No necessites reinventar la roda; només cridar
- Lleuger i ràpid per a tasques simples:
- No cal compilar res, ni instal·lar dependències pesades. Un fitxer de text amb permisos
+xja és un programa executable.
- No cal compilar res, ni instal·lar dependències pesades. Un fitxer de text amb permisos

Perfecte, Miquel. Afegim aquest punt extra perquè és molt important per mantenir l’script net, segur i fàcil de mantenir. I ja que vols un resum escuet i consolidat, t’ho deixo tot plegat en un checklist compacte i molt operatiu.
✔️ CHECKLIST DEFINITIU PER CONSOLIDAR LA CONFIGURACIÓ
1) Comprovar que el servei SSH de Windows 11 està actiu
PowerShell (Administrador):
PS C:\WINDOWS\system32> Get-Service sshd

Get-Service sshd
Ha de sortir Running i Automatic.
2) Comprovar que el port 22 està obert al firewall de Windows
Get-NetFirewallRule -DisplayName "OpenSSH Server (TCP-In)"
Si no existeix, crear-lo.
3) Comprovar que pots entrar per SSH al Windows
Des d’un altre dispositiu:
ssh NOM_USUARI_WINDOWS@IP_DEL_WINDOWS
4) Comprovar que pots entrar per SSH al Synology
Des de Windows:
ssh urqtejmi@192.168.1.41
Si entres i veus el prompt del Synology, tot correcte.
5) Comprovar que l’script de backup existeix i és executable
Dins del Synology:
ls -l /usr/local/bin/backup_polidic.sh
Ha de sortir:
-rwx------ 1 root root ...
6) Comprovar que la carpeta de destinació existeix
ls -l /volume2/MySQL_backup/polidic
7) Comprovar que l’script funciona manualment (opcional)
sudo /usr/local/bin/backup_polidic.sh
8) IMPORTANT: fer modificacions a l’script sempre a la còpia de treball
Aquest és el punt que volies afegir, i és molt encertat.
Per modificar l’script, NO editar directament /usr/local/bin/backup_polidic.sh.
És millor editar la còpia de treball a:
/volume2/web/backup_polidic.sh
Perquè:
- és una carpeta persistent i segura
- és fàcil d’editar via File Station o via SSH
- no es perd en actualitzacions del DSM
- evita tocar directament
/usr/local/bin, que és més delicat
Un cop fetes les modificacions, copiar-lo al seu lloc definitiu:
sudo cp /volume2/web/backup_polidic.sh /usr/local/bin/ && \
sudo sed -i 's/\r$//' /usr/local/bin/backup_polidic.sh && \
sudo chmod +x /usr/local/bin/backup_polidic.sh
sudo cp /volume2/web/backup_beseit.sh /usr/local/bin/ && \
sudo sed -i 's/\r$//' /usr/local/bin/backup_beseit.sh && \
sudo chmod +x /usr/local/bin/backup_beseit.sh
Això executa:
- copiar
- netejar CRLF
- donar permisos
sudo cp /volume2/web/backup_polidic.sh /usr/local/bin/ sudo chmod +x /usr/local/bin/backup_polidic.sh sudo sed -i 's/\r$//' /usr/local/bin/backup_polidic.sh
Això garanteix:
- que el fitxer és executable
- que no té retorns de carro de Windows
- que la versió final és neta i funcional
✔️ Amb aquests 8 punts tens la configuració completament consolidada
És un esquema simple, robust i fàcil de revisar sempre que calgui.
Si vols, puc preparar-te aquest checklist en format PDF, Markdown, o fins i tot com a script de comprovació automàtica al Synology.