2013-02-16 14:29:48 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
|
|
|
|
# Make sure to look at sysmocom-restore to check if the file would
|
|
|
|
# be restored right. Currently only some dirs get restored.
|
2015-06-24 12:08:28 +00:00
|
|
|
FILES="etc/sysmocom/backup.d"
|
2014-09-24 13:52:02 +00:00
|
|
|
|
|
|
|
# Pick some extra files
|
|
|
|
if [ -e /etc/sysmocom/backup.d/ ]; then
|
2015-12-15 09:59:25 +00:00
|
|
|
for extra in `ls /etc/sysmocom/backup.d/*.files`;
|
2014-09-24 13:52:02 +00:00
|
|
|
do
|
|
|
|
echo "Add extras from $extra."
|
|
|
|
FILES="$FILES `cat $extra`"
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
2013-02-16 14:29:48 +00:00
|
|
|
DATE=`date +%Y%m%d`
|
|
|
|
|
|
|
|
|
|
|
|
do_backup_files() {
|
|
|
|
BACKUP_FILE="/home/root/sysmocom-backup_$DATE.tar"
|
|
|
|
|
|
|
|
# 0. Sanity checking
|
|
|
|
if [ -e $BACKUP_FILE ]; then
|
|
|
|
echo "The backup file '$BACKUP_FILE' already exists. Exiting!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# 1. Create an empty archive..
|
|
|
|
tar -cf $BACKUP_FILE --files-from=/dev/null
|
|
|
|
|
|
|
|
# 2. Add all the files... we need
|
|
|
|
for file in $FILES;
|
|
|
|
do
|
|
|
|
if [ -e "/$file" ]; then
|
|
|
|
tar -rf $BACKUP_FILE --transform='s,^,content/,' -C / $file
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# 3. Generate more information
|
|
|
|
NAME="/tmp/backup.$RANDOM"
|
|
|
|
mkdir $NAME
|
|
|
|
opkg list_installed > $NAME/installed_packages
|
|
|
|
/sbin/ifconfig | grep HWaddr | cut -d ' ' -f 11 > $NAME/mac_addr
|
|
|
|
|
|
|
|
# 4. Add the more information
|
|
|
|
tar -rf $BACKUP_FILE --transform='s,^,info/,' -C $NAME installed_packages mac_addr
|
|
|
|
|
2015-06-24 12:08:28 +00:00
|
|
|
# 5. Create stable link
|
|
|
|
ln -sf $BACKUP_FILE /home/root/sysmocom-backup.tar
|
|
|
|
|
|
|
|
# 6.
|
2013-02-16 14:29:48 +00:00
|
|
|
echo "The backup was stored to $BACKUP_FILE"
|
|
|
|
}
|
|
|
|
|
|
|
|
do_backup_files
|