kodi:kodi-dbbackup
This is an old revision of the document!
Kodi DB Backup
The XBMC Backup addon does not back up the mysql database, so this script should be used:
- dbbackup.sh
#!/bin/bash KODIUSER="kodi" KODIPASS="kodi" BACKUPDIR="/home/kodi/.kodi/userdata/Database/dbbackup" BACKUPKEEPDAYS=7 DATE=`/bin/date +%Y%m%d-%H%M` echo "Beginning Kodi database backup." echo "Creating backup directory." mkdir -p $BACKUPDIR # Get music database number MUSIC_DB=$(mysql -u $KODIUSER -p$KODIPASS -e "Show databases;" 2>/dev/null | grep "MyMusic") for DB in $MUSIC_DB do #DBSHORT=${DB:7} echo "Exporting database '"$DB"'." mysqldump -u $KODIUSER -a -c -h localhost --password="$KODIPASS" $DB --databases 2>/dev/null | bzip2 -z9 > "$BACKUPDIR/Music."$DB"."$DATE".sql.bz2" echo "Music database exported."; done # Get video database number VIDEO_DB=$(mysql -u $KODIUSER -p$KODIPASS -e "Show databases;" 2>/dev/null | grep "MyVideos") #VIDEO_DB=${VIDEO_DB:8} for DB in $VIDEO_DB do echo "Exporting database '"$DB"'" mysqldump -u $KODIUSER -a -c -h localhost --password="$KODIPASS" --databases $DB 2>/dev/null | bzip2 -z9 > "$BACKUPDIR/Videos."$DB"."$DATE".sql.bz2" echo "Video database exported." done echo "Kodi backup finished." # Cleanup echo "Deleting backups older than $BACKUPKEEPDAYS days" find $BACKUPDIR/* -mtime +$BACKUPKEEPDAYS -exec rm {} \; echo "Done"
Make script executable:
chmod 755 /home/kodi/dbbackup.sh
Either add it to crontab to execute it at a particular time like 1am each day:
crontab -e
add add
0 1 * * * /home/kodi/dbbackup.sh
or add it to daily crontab as root:
echo "#!/bin/sh" > /etc/cron.daily/kodi-db-backup echo "/home/kodi/dbbackup.sh" >> /etc/cron.daily/kodi-db-backup chmod 755 /etc/cron.daily/kodi-db-backup
kodi/kodi-dbbackup.1602347415.txt.gz · Last modified: 2023/05/29 11:53 (external edit)