添加 Crontab 任务:
0 3 * * * /root/script/teslamatebackup.sh
在根目录下创建script目录并写入一个teslamatebackup.sh的文件
#!/bin/bash
#
# Description: Script to backup the TeslaMate database
#
# Author: Yong Hou
# Created: 02/08/2023
PATH_COMPOSE=/root/teslamate
PATH_BACKUP=/root/backup
REMOVE_OLDER=7
echo -e '\n---- Starting the backup ----\n'
cd $PATH_COMPOSE
FILENAME=`date +"%Y%m%d_%H%M"`_teslamate.bck
docker compose exec -T database pg_dump -U teslamate teslamate %3E $PATH_BACKUP/$FILENAME
cd $PATH_BACKUP
FILESIZE=`du -h "$FILENAME" | cut -f1`
echo -e "\nThe size of the backup is $FILESIZE\n"
echo -e "\nRemoving backups older than $REMOVE_OLDER days\n"
find $PATH_BACKUP -name '*_teslamate.bck' -type f -mtime +$REMOVE_OLDER -delete
echo -e '\n---- Backup finished ----\n'
检查现有任务
sudo crontab -l