#!/bin/bash
# This is an example script how to migrate an 6.x linuxmuster.net server to 7.x
# The data dump of the 6.x version is expected in ../sophomorix-dump
# You can run this script by copying each step and run it 
# or just run the script and see what happens

rm -rf /tmp/LOGDIR
rm -rf /tmp/ERRORDIR
mkdir -p /tmp/LOGDIR
mkdir -p /tmp/ERRORDIR

# delete later ????
#rm -rf /var/log/sophomorix/userlog/
date

# 0 min
echo ""
echo "--analyze"
time sophomorix-vampire --datadir ../sophomorix-dump --analyze 1> /tmp/LOGDIR/file-01.log 2> /tmp/ERRORDIR/file-01.err
cat /tmp/ERRORDIR/file-01.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 0 min
echo ""
echo "--create-class-script"
time sophomorix-vampire --datadir ../sophomorix-dump --create-class-script 1> /tmp/LOGDIR/file-02.log 2> /tmp/ERRORDIR/file-02.err
cat /tmp/ERRORDIR/file-02.err  | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 9/25/20/27/36 min
echo ""
echo "/root/sophomorix-vampire-classes.sh"
time /root/sophomorix-vampire/sophomorix-vampire-classes.sh 1> /tmp/LOGDIR/file-03.log 2> /tmp/ERRORDIR/file-03.err
cat /tmp/ERRORDIR/file-03.err  | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

echo ""
samba-tool domain passwordsettings set --complexity=off
samba-tool domain passwordsettings set --min-pwd-length=1
echo ""

# 1 min
echo ""
echo "--create-add-file"
time sophomorix-vampire --datadir ../sophomorix-dump --create-add-file 1> /tmp/LOGDIR/file-04.log 2> /tmp/ERRORDIR/file-04.err
cp /root/sophomorix-vampire/sophomorix.add /var/lib/sophomorix/check-result/sophomorix.add
cat /tmp/ERRORDIR/file-04.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 86/63/58/65/110 min
echo ""
echo "sophomorix-add"
time sophomorix-add 1> /tmp/LOGDIR/file-05.log 2> /tmp/ERRORDIR/file-05.err
cat /tmp/ERRORDIR/file-05.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="


# 9/7/9/8 min
echo ""
echo "--import-user-password-hashes"
time sophomorix-vampire --datadir ../sophomorix-dump --import-user-password-hashes 1> /tmp/LOGDIR/file-06.log 2> /tmp/ERRORDIR/file-06.err
cat /tmp/ERRORDIR/file-06.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

echo ""
samba-tool domain passwordsettings set --complexity=default
samba-tool domain passwordsettings set --min-pwd-length=default
echo ""


# 2/1 min
echo ""
echo "--create-class-adminadd-script"
time sophomorix-vampire --datadir ../sophomorix-dump --create-class-adminadd-script 1> /tmp/LOGDIR/file-07.log 2> /tmp/ERRORDIR/file-07.err
cat /tmp/ERRORDIR/file-07.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="


# 2 min
echo ""
echo "/root/sophomorix-vampire-classes-adminadd.sh"
time /root/sophomorix-vampire/sophomorix-vampire-classes-adminadd.sh 1> /tmp/LOGDIR/file-08.log 2> /tmp/ERRORDIR/file-08.err
cat /tmp/ERRORDIR/file-08.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 0 min
echo ""
echo "--create-project-script"
time sophomorix-vampire --datadir ../sophomorix-dump --create-project-script 1> /tmp/LOGDIR/file-09.log 2> /tmp/ERRORDIR/file-09.err
cat /tmp/ERRORDIR/file-09.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 4/15/11/14/17 min
echo ""
echo "/root/sophomorix-vampire-projects.sh"
time /root/sophomorix-vampire/sophomorix-vampire-projects.sh 1> /tmp/LOGDIR/file-10.log 2> /tmp/ERRORDIR/file-10.err
cat /tmp/ERRORDIR/file-10.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 1 min
echo ""
echo "--restore-config-files"
time sophomorix-vampire --datadir ../sophomorix-dump --restore-config-files 1> /tmp/LOGDIR/file-11.log 2> /tmp/ERRORDIR/file-11.err
time sophomorix-vampire --datadir ../sophomorix-dump --restore-config-files 1> /tmp/LOGDIR/file-11.log 2> /tmp/ERRORDIR/file-11.err
cat /tmp/ERRORDIR/file-11.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="



# 0 min
echo ""
echo "sophomorix-check"
time sophomorix-check 1> /tmp/LOGDIR/file-12.log 2> /tmp/ERRORDIR/file-12.err
cat /tmp/ERRORDIR/file-12.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 0 min
echo ""
echo "sophomorix-add"
time sophomorix-add 1> /tmp/LOGDIR/file-13.log 2> /tmp/ERRORDIR/file-13.err
cat /tmp/ERRORDIR/file-13.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 1/0 min
echo ""
echo "sophomorix-update"
time sophomorix-update 1> /tmp/LOGDIR/file-14.log 2> /tmp/ERRORDIR/file-14.err
cat /tmp/ERRORDIR/file-14.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 1 min / 45 users
echo ""
echo "sophomorix-kill"
time sophomorix-kill 1> /tmp/LOGDIR/file-15.log 2> /tmp/ERRORDIR/file-15.err
cat /tmp/ERRORDIR/file-15.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# 5/5/7 min
echo ""
#echo "sophomorix-device --sync"
#time sophomorix-device --sync 1> /tmp/LOGDIR/file-16.log 2> /tmp/ERRORDIR/file-16.err
#cat /tmp/ERRORDIR/file-16.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="
echo "linuxmuster-import-devices"
time linuxmuster-import-devices 1> /tmp/LOGDIR/file-16.log 2> /tmp/ERRORDIR/file-16.err
cat /tmp/ERRORDIR/file-16.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="




# rsync-all-student-homes
echo "rsync-all-student-homes"
time sophomorix-vampire --rsync-all-student-homes  --path-oldserver ../vampire_daten_bsz --datadir ../sophomorix-dump 1> /tmp/LOGDIR/file-17.log 2> /tmp/ERRORDIR/file-17.err
cat /tmp/ERRORDIR/file-17.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# rsync-all-teacher-homes
echo "rsync-all-teacher-homes"
time sophomorix-vampire --rsync-all-teacher-homes  --path-oldserver ../vampire_daten_bsz --datadir ../sophomorix-dump 1> /tmp/LOGDIR/file-18.log 2> /tmp/ERRORDIR/file-18.err
cat /tmp/ERRORDIR/file-18.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# rsync-all-class-shares
echo "rsync-all-class-shares"
time sophomorix-vampire --rsync-all-class-shares  --path-oldserver ../vampire_daten_bsz --datadir ../sophomorix-dump 1> /tmp/LOGDIR/file-19.log 2> /tmp/ERRORDIR/file-19.err
cat /tmp/ERRORDIR/file-19.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

# rsync-all-project-shares
echo "rsync-all-project-shares"
time sophomorix-vampire --rsync-all-project-shares  --path-oldserver ../vampire_daten_bsz --datadir ../sophomorix-dump 1> /tmp/LOGDIR/file-20.log 2> /tmp/ERRORDIR/file-20.err
cat /tmp/ERRORDIR/file-20.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="



# linbo
echo "rsync-linbo"
time sophomorix-vampire --rsync-linbo  --path-oldserver ../vampire_daten_bsz --datadir ../sophomorix-dump 1> /tmp/LOGDIR/file-21.log 2> /tmp/ERRORDIR/file-21.err
cat /tmp/ERRORDIR/file-21.err | grep -v "Domain=" | grep -v "OS=" | grep -v "Server="

date
