Compare commits
5 Commits
cbaa5cf408
...
497723afe1
| Author | SHA1 | Date | |
|---|---|---|---|
| 497723afe1 | |||
| aaff46632c | |||
| 6dcf5d2cfe | |||
| 0e35a74e38 | |||
| e612c2ddd0 |
@ -17,49 +17,61 @@ source /etc/profile
|
|||||||
ask_overwrite() {
|
ask_overwrite() {
|
||||||
echo "Existing destination folder ($ARCH_BOOT_DST_CURRENT_VERSION), do you want to overwrite? (y/n)";
|
echo "Existing destination folder ($ARCH_BOOT_DST_CURRENT_VERSION), do you want to overwrite? (y/n)";
|
||||||
read OVERWRITE;
|
read OVERWRITE;
|
||||||
test "$OVERWRITE" = "y" && return
|
return `test "$OVERWRITE" = "y"`
|
||||||
echo "Do not overwrite. Exitting gently..."
|
|
||||||
exit 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PACMAN_BIN=${PACMAN_BIN:-/usr/bin/pacman}
|
do_upgrade() {
|
||||||
BOOT_SYMLINK=${BOOT_SYMLINK:-current}
|
PKG_NAME=$1
|
||||||
|
ARCH_INITRAMFS=$2
|
||||||
|
ARCH_INITRAMFS_FALLBACK=$3
|
||||||
|
ARCH_VMLINUZ=$4
|
||||||
|
|
||||||
CURRENT_VERSION=`${PACMAN_BIN} -Qi linux \
|
PACMAN_BIN=${PACMAN_BIN:-/usr/bin/pacman}
|
||||||
|
BOOT_SYMLINK=${BOOT_SYMLINK:-$PKG_NAME}
|
||||||
|
|
||||||
|
BOOT_ORIG=/boot
|
||||||
|
|
||||||
|
ARCH_BOOT_DST=$TMP_BOOT_DST/$BOOT_DIR_SUFFIX
|
||||||
|
|
||||||
|
|
||||||
|
CURRENT_VERSION=`${PACMAN_BIN} -Qi $PKG_NAME \
|
||||||
| sed -n '/^Version *:/p' \
|
| sed -n '/^Version *:/p' \
|
||||||
| grep -o '[^ ]*$'`
|
| grep -o '[^ ]*$'`
|
||||||
BOOT_BLK=/dev/$LVM_VG_BOOT/$LVM_LG_BOOT_NAME
|
|
||||||
BOOT_ORIG=/boot
|
|
||||||
TMP_BOOT_DST=`mktemp -d`
|
|
||||||
|
|
||||||
ARCH_BOOT_DST=$TMP_BOOT_DST/$BOOT_DIR_SUFFIX
|
ARCH_BOOT_DST_CURRENT_VERSION=$ARCH_BOOT_DST/$CURRENT_VERSION
|
||||||
ARCH_BOOT_DST_CURRENT_VERSION=$ARCH_BOOT_DST/$CURRENT_VERSION
|
|
||||||
ARCH_INITRAMFS=initramfs-linux.img
|
|
||||||
ARCH_INITRAMFS_FALLBACK=initramfs-linux-fallback.img
|
|
||||||
ARCH_VMLINUZ=vmlinuz-linux
|
|
||||||
|
|
||||||
mount $BOOT_BLK $TMP_BOOT_DST;
|
test -d $ARCH_BOOT_DST_CURRENT_VERSION \
|
||||||
test -d $ARCH_BOOT_DST_CURRENT_VERSION \
|
|
||||||
&& test `realpath $ARCH_BOOT_DST/$BOOT_SYMLINK` = $ARCH_BOOT_DST_CURRENT_VERSION \
|
&& test `realpath $ARCH_BOOT_DST/$BOOT_SYMLINK` = $ARCH_BOOT_DST_CURRENT_VERSION \
|
||||||
&& echo "Linux version already up to date ($CURRENT_VERSION)" && exit 0;
|
&& echo "$PKG_NAME version already up to date ($CURRENT_VERSION)" && return 1;
|
||||||
|
|
||||||
mkdir $ARCH_BOOT_DST_CURRENT_VERSION || ask_overwrite;
|
mkdir $ARCH_BOOT_DST_CURRENT_VERSION || ask_overwrite || return 1;
|
||||||
|
|
||||||
(
|
(
|
||||||
cd $BOOT_ORIG;
|
cd $BOOT_ORIG;
|
||||||
# Copy the new kernel files to the real destination in boot fs
|
# Copy the new kernel files to the real destination in boot fs
|
||||||
cp -t $ARCH_BOOT_DST_CURRENT_VERSION $ARCH_INITRAMFS $ARCH_INITRAMFS_FALLBACK $ARCH_VMLINUZ;
|
cp -t $ARCH_BOOT_DST_CURRENT_VERSION $ARCH_INITRAMFS $ARCH_INITRAMFS_FALLBACK $ARCH_VMLINUZ;
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
cd $ARCH_BOOT_DST;
|
cd $ARCH_BOOT_DST;
|
||||||
# Re-link the good version
|
# Re-link the good version
|
||||||
test -h $BOOT_SYMLINK && rm $BOOT_SYMLINK;
|
test -h $BOOT_SYMLINK && rm $BOOT_SYMLINK;
|
||||||
ln -s $CURRENT_VERSION current;
|
ln -s $CURRENT_VERSION $PKG_NAME;
|
||||||
)
|
)
|
||||||
|
|
||||||
|
echo "$PKG_NAME version updated to $CURRENT_VERSION"
|
||||||
|
}
|
||||||
|
|
||||||
|
TMP_BOOT_DST=`mktemp -d`
|
||||||
|
BOOT_BLK=/dev/$LVM_VG_BOOT/$LVM_LG_BOOT_NAME
|
||||||
|
mount $BOOT_BLK $TMP_BOOT_DST;
|
||||||
|
|
||||||
|
do_upgrade linux initramfs-linux.img initramfs-linux-fallback.img vmlinuz-linux \
|
||||||
|
|| echo "Skipped linux upgrade"
|
||||||
|
|
||||||
|
do_upgrade linux-lts initramfs-linux-lts.img initramfs-linux-lts-fallback.img vmlinuz-linux-lts \
|
||||||
|
|| echo "Skipped linux-lts upgrade"
|
||||||
|
|
||||||
echo "Linux version updated to $CURRENT_VERSION"
|
|
||||||
umount $TMP_BOOT_DST;
|
umount $TMP_BOOT_DST;
|
||||||
rmdir $TMP_BOOT_DST;
|
rmdir $TMP_BOOT_DST;
|
||||||
exit 0;
|
exit 0;
|
||||||
|
|||||||
12
backup_os_b00.sh
Executable file
12
backup_os_b00.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
BACKUP=$1
|
||||||
|
TARGET=$2
|
||||||
|
|
||||||
|
if [[ $BACKUP == "/" ]];
|
||||||
|
then
|
||||||
|
BACKUP=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
rsync -vaAX --delete-excluded --delete $BACKUP/ --exclude=$BACKUP/dev/* --exclude=$BACKUP/proc/* --exclude=$BACKUP/sys/* --exclude=$BACKUP/tmp/* --exclude=$BACKUP/run/* --exclude=$BACKUP/mnt/* --exclude=$BACKUP/media/* --exclude=$BACKUP/cdrom/* --exclude=$BACKUP/lost+found/* --exclude=$BACKUP/var/lib/containers/* --exclude=$BACKUP/var/lib/lxcfs/* --exclude=$BACKUP/var/lib/backuppc $TARGET
|
||||||
22
backup_vms_b00.sh
Executable file
22
backup_vms_b00.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Gitea
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 gitea-rootfs 100M 1 ptrs.top /mnt/borg-b00 boot || exit 1
|
||||||
|
sleep 1
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 gitea-rootfs 100M 3 ptrs.top /mnt/borg-b00 root || exit 1
|
||||||
|
sleep 1
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 gitea-var-lib 100M 1 ptrs.top /mnt/borg-b00 var-lib || exit 1
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Db
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 db-rootfs 100M 1 ptrs.top /mnt/borg-b00 root || exit 1
|
||||||
|
sleep 1
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 db-var-lib-mysql 100M 1 ptrs.top /mnt/borg-b00 var-lib-mysql || exit 1
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# Mail
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 mail-rootfs 100M 1 ptrs.top /mnt/borg-b00 root || exit 1
|
||||||
|
sleep 1
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 mail-var-lib-postgresql 100M 1 ptrs.top /mnt/borg-b00 var-lib-postgresql
|
||||||
|
sleep 1
|
||||||
|
/root/scripts/borg_partclone_backup_multipartition.sh vg0 mail-var-mail 100M 1 ptrs.top /mnt/borg-b00 var-mail
|
||||||
20
convert_pdf.sh
Executable file
20
convert_pdf.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
for i in 2025*.jpg;
|
||||||
|
do
|
||||||
|
pdfname=$(echo $i|sed 's/jpg$/pdf/')
|
||||||
|
gs \
|
||||||
|
-q \
|
||||||
|
-dNOSAFER \
|
||||||
|
-sPAPERSIZE=a4 \
|
||||||
|
-dNOPAUSE \
|
||||||
|
-dPDFSETTINGS=/printer \
|
||||||
|
-dBATCH \
|
||||||
|
-dCompressFonts=true \
|
||||||
|
-sDEVICE=pdfwrite \
|
||||||
|
-sOutputFile=$pdfname \
|
||||||
|
/usr/share/ghostscript/lib/viewjpeg.ps \
|
||||||
|
-c \
|
||||||
|
\($i\) viewJPEG showpage
|
||||||
|
done;
|
||||||
1
git_submodule_init_update.sh
Executable file
1
git_submodule_init_update.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
git submodule update --init --recursive
|
||||||
84
upgrade_pyvenv.sh
Executable file
84
upgrade_pyvenv.sh
Executable file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
check_arguments() {
|
||||||
|
[[ -f "$1" ]] && return
|
||||||
|
|
||||||
|
echo "Missing configuration file argument ($1)"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_venv_path() {
|
||||||
|
[[ -n "$VENV_PATH" ]] && \
|
||||||
|
[[ -d "$VENV_PATH" ]] && \
|
||||||
|
[[ -f "$VENV_PATH/bin/python" ]] && \
|
||||||
|
return;
|
||||||
|
|
||||||
|
echo "$VENV_PATH is not a virtual environment"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_requirements_file() {
|
||||||
|
[[ -n "$REQUIREMENTS_FILE" ]] && \
|
||||||
|
[[ -f "$REQUIREMENTS_FILE" ]] && \
|
||||||
|
return;
|
||||||
|
|
||||||
|
echo "$REQUIREMENTS_FILE does not exist"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_repo_path() {
|
||||||
|
[[ -n "$REPO_PATH" ]] && \
|
||||||
|
[[ -d "$REPO_PATH" ]] && \
|
||||||
|
(cd $REPO_PATH && git status) && return;
|
||||||
|
|
||||||
|
echo "$REPO_PATH is not a git repository"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_arguments $1
|
||||||
|
|
||||||
|
source $1
|
||||||
|
echo "Upgrading virtual environment for `basename $1`"
|
||||||
|
|
||||||
|
check_venv_path
|
||||||
|
|
||||||
|
check_requirements_file
|
||||||
|
|
||||||
|
check_repo_path
|
||||||
|
|
||||||
|
PIP_PATH=$VENV_PATH/bin/pip
|
||||||
|
|
||||||
|
reset_venv() {
|
||||||
|
rm -r $VENV_PATH
|
||||||
|
python3 -m venv $VENV_PATH
|
||||||
|
}
|
||||||
|
|
||||||
|
update_repo() {
|
||||||
|
cd $REPO_PATH
|
||||||
|
git fetch
|
||||||
|
if [[ `git log HEAD..origin | wc -l` == 0 ]];
|
||||||
|
then
|
||||||
|
echo "No changes in current branch of repository"
|
||||||
|
else
|
||||||
|
echo "Changes done in current branch:\n"
|
||||||
|
git log HEAD..origin
|
||||||
|
echo "\nPull new changes? (y/n)"
|
||||||
|
read pull_changes
|
||||||
|
[[ "$pull_changes" == "y" ]] && git pull
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_requirements() {
|
||||||
|
$PIP_PATH install -r $REQUIREMENTS_FILE
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Resetting venv..."
|
||||||
|
reset_venv
|
||||||
|
|
||||||
|
update_repo
|
||||||
|
|
||||||
|
echo "Installing requirements..."
|
||||||
|
install_requirements > /dev/null
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
9
upgrade_pyvenv_projects.sh
Executable file
9
upgrade_pyvenv_projects.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CONF_DIR=/home/emixam/.config/pyvenv_projects.d
|
||||||
|
|
||||||
|
for conf_file in $CONF_DIR/*;
|
||||||
|
do
|
||||||
|
upgrade_pyvenv.sh $conf_file;
|
||||||
|
done;
|
||||||
Loading…
Reference in New Issue
Block a user