Skip to content

Instantly share code, notes, and snippets.

@carlosmgv02
Last active March 1, 2023 12:26
Show Gist options
  • Save carlosmgv02/9e814c9e6b18369ddd851c3541ed6d88 to your computer and use it in GitHub Desktop.
Save carlosmgv02/9e814c9e6b18369ddd851c3541ed6d88 to your computer and use it in GitHub Desktop.
Servei systemD còpia de seguretat.

Laboratori systemD & sysV

Passos a seguir per a un correcte funcionament:

  1. Crear l'script de la còpia de seguretat en un directori com 'usr/local/bin/lab-administració.sh.
  2.  milax@casa:~$ sudo EDITOR=vim crontab -e
    1. Afegir la línia 0 10 * * 1-5 /bin/bash /usr/local/bin/lab-administracio.sh al fitxer. Aquest fitxer s'encarregarà de fer l'execució entre setmana.
    2. Guardar i sortir.
  3. Crear l'arxiu de servei de systemD en /etc/systemd/system/lab-administracio.service:
    [Unit]
    Description=Administració del laboratori
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/lab-administracio.sh
    
    [Install]
    WantedBy=multi-user.target
  4. Crear l'arxiu de timer de systemD en /etc/systemd/system/lab-administracio.timer: Aquest fitxer s'encarregarà de fer la execució els caps de setmana.
    [Unit]
    Description=Timer de copia de seguridad de fin de semana
    
    [Timer]
    OnCalendar=Sat,Sun *-*-* 22:00:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target
  5. Recarregar la configuració de systemD:
    milax@casa:~$ sudo systemctl daemon-reload
  6. Activar el timer per a que comenci a funcionar:
    milax@casa:~$ sudo systemctl enable -now lab-administracio.timer
#!/bin/bash
#Author: Carlos Martínez
#AQUEST SCRIPT REQUEREIX EL PARÀMETRE -E PER A CONSERVAR LA UBICACIÓ DEL PATH CORRECTA
date=$(date +"%y%m%d%H%M")
usr=$(whoami)
filename="$date-$usr.tgz"
echo $filename
source_file="aguardar.txt"
destination="/root/back"
echo $source_file
if [ ! -f $HOME/$source_file ];then
echo "No existeix el fitxer $source_file"
else
echo "Creant copia de seguretat del fitxer $source_file en $destination"
while [ true ]
do
tar -czf $destination/$filename -T $HOME/$source_file
chmod +x $destination/$filename
chown root $destination/$filename
sleep 120
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment