Já que você está no Ubuntu 16.04, que usa systemd
, você pode querer usar a combinação de serviço nativo e temporizador systemd
.
Coloque o trabalho real em um script. Por exemplo. /usr/local/sbin/gdrive-upload.sh
#!/bin/bash
name=$(date -d "today" +"dev_%Y-%m-%d_%H:%M").dump
PGPASSWORD='passToDB' pg_dump -h localhost -p 5432 -U lm -F c -b -v -f /postgresql/dump/${name} DBname
gdrive upload /postgresql/dump/${name}
sudo rm /postgresql/dump/${name}
Um arquivo /etc/systemd/system/gdrive-upload.service
de serviço correspondente seria semelhante ao seguinte, mas pode precisar de alguns ajustes.
[Unit]
Description=Upload stuff to gdrive
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/gdrive-upload.sh
[Install]
WantedBy=multi-user.target
Em seguida, você precisa de um systemd
timer /etc/systemd/system/gdrive-upload.timer
para executar o arquivo de serviço regularmente.
[Unit]
Description=Regularly upload stuff to gdrive
[Timer]
OnCalendar=*-*-* *:00:00
Persistent=true
[Install]
WantedBy=timers.target
Depois de criar os arquivos, você deve informar systemd
de que há novos serviços disponíveis para retirada e ativar o cronômetro.
$ systemctl daemon-reload
$ systemctl enable gdrive-upload.timer
$ systemctl start gdrive-upload.timer
Não ative o gdrive-upload.service
, pois isso será acionado pelo timer.
Agora você pode assistir ao seu timer quando ele foi acionado pela última vez e quando será acionado na próxima vez com systemclt list-timers
.
Como já mencionado, você pode precisar ajustar o temporizador e o serviço um pouco, dependendo de suas necessidades.