Add migrate script that was used to copy mailman2 archives
Signed-off-by: James Ketrenos <james_git@ketrenos.com>
This commit is contained in:
parent
41b5b9ae52
commit
23f4ba72d2
66
migrate2-3
Executable file
66
migrate2-3
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare src="/home/jketreno/mailman2"
|
||||
declare dst="unset"
|
||||
|
||||
fail() {
|
||||
echo "${*}" >&2
|
||||
if [[ ! -d "${src}" ]] && [[ -d "${dst}" ]]; then
|
||||
sudo mv "${dst}" "${src}"
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Full set of lists to migrate
|
||||
#lists=(family jcubed test mosj vansicklefamily )
|
||||
|
||||
# Everything has been migrated
|
||||
lists=()
|
||||
|
||||
if [[ -d "${src}" ]]; then
|
||||
sudo chown jketreno:jketreno -R "${src}"
|
||||
fi
|
||||
|
||||
if ! ssh email.ketrenos.com \
|
||||
"sudo rsync --delete -aprl --progress /var/lib/mailman/ ${src}/"; then
|
||||
fail "rsync"
|
||||
fi
|
||||
|
||||
dst="/home/jketreno/docker/webserver/data/mailman/core/mailman2"
|
||||
if ! sudo mv "${src}" "${dst}"; then
|
||||
fail "mv ${src} ${dst}"
|
||||
fi
|
||||
|
||||
for list in "${lists[@]}"; do
|
||||
echo "Initializing $list"
|
||||
if ! docker exec -it ketrenet-mailman-core \
|
||||
mailman --run-as-root import21 "${list}@ketrenos.com" \
|
||||
"/opt/mailman/mailman2/lists/${list}/config.pck"; then
|
||||
fail "mailman --run-as-root import21 $list@ketrenos.com /opt/mailman/mailman2/lists/${list}/config.pck"
|
||||
fi
|
||||
done
|
||||
|
||||
new_dst="/home/jketreno/docker/webserver/data/mailman/web/config/mailman2"
|
||||
if ! sudo mv "${dst}" "${new_dst}"; then
|
||||
fail "mv ${dst} ${new_dst}"
|
||||
fi
|
||||
dst="${new_dst}"
|
||||
|
||||
for list in "${lists[@]}"; do
|
||||
echo "Hyper Kitty archive $list"
|
||||
if ! docker exec -it ketrenet-mailman-web \
|
||||
python manage.py hyperkitty_import \
|
||||
-l "${list}@ketrenos.com" \
|
||||
"/opt/mailman-web/mailman2/archives/private/${list}.mbox/${list}.mbox"; then
|
||||
fail "python manage.py hyperkitty_import"
|
||||
fi
|
||||
|
||||
if ! docker exec -it ketrenet-mailman-web \
|
||||
python manage.py update_index_one_list "${list}@ketrenos.com"; then
|
||||
fail "python manage.py update_index_one_list ${list}@ketrenos.com"
|
||||
fi
|
||||
done
|
||||
|
||||
if ! sudo mv "${dst}" "${src}"; then
|
||||
fail "mv ${dst} ${src}"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user