ajout fonction output
maintenant tout va dans un fichier log
This commit is contained in:
parent
c3add3f028
commit
1e09752171
46
upsnapz.sh
46
upsnapz.sh
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Time-stamp: <2025-03-15 06:55:37 nomad>
|
# Time-stamp: <2025-03-17 07:11:59 nomad>
|
||||||
|
|
||||||
# Michel Le Cocq <lecocq@ipgp.fr>
|
# Michel Le Cocq <lecocq@ipgp.fr>
|
||||||
# <nomad@neuronfarm.net>
|
# <nomad@neuronfarm.net>
|
||||||
@ -22,7 +22,7 @@
|
|||||||
# tunable variable
|
# tunable variable
|
||||||
|
|
||||||
# /!\ il faut ecrire ce fichier dans le vol bootfs sinon ca a peu d'interet
|
# /!\ il faut ecrire ce fichier dans le vol bootfs sinon ca a peu d'interet
|
||||||
LOG_FILE=/root/upsnapz.log
|
LOG_FILE=./upsnapz.log
|
||||||
|
|
||||||
# Dependencies :
|
# Dependencies :
|
||||||
# - gh
|
# - gh
|
||||||
@ -37,11 +37,18 @@ LOG_FILE=/root/upsnapz.log
|
|||||||
# - verfier que 'gh auth status' fonctionne avant de l'utiliser (auth)
|
# - verfier que 'gh auth status' fonctionne avant de l'utiliser (auth)
|
||||||
# - ameliorer l'integration de : apt full-upgrade
|
# - ameliorer l'integration de : apt full-upgrade
|
||||||
# la c'est un peu brouillon et entraine de multiples question de snapshots
|
# la c'est un peu brouillon et entraine de multiples question de snapshots
|
||||||
# - 2 souci avec tee et les logs dans un fichier :
|
|
||||||
# - perte couleurs
|
|
||||||
# - impossible de repondre aux questions de apt tpe : (Y/I/N/O/D/Z) [default=N] ?
|
|
||||||
# +------------------------------------------------------------------------------------------------+
|
# +------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
output()
|
||||||
|
{
|
||||||
|
# usage : output file command
|
||||||
|
# fonction pour afficher sur la sortie standard et envoyer dans un fichier log
|
||||||
|
output_file=$1
|
||||||
|
shift
|
||||||
|
command=$@
|
||||||
|
script -aefq $output_file -c "$command"
|
||||||
|
}
|
||||||
|
|
||||||
function showsnap
|
function showsnap
|
||||||
{
|
{
|
||||||
# fonction qui affiche le nombre de snap par rapport a chaques bootfs
|
# fonction qui affiche le nombre de snap par rapport a chaques bootfs
|
||||||
@ -51,6 +58,10 @@ function showsnap
|
|||||||
# - du coup tout est commenté
|
# - du coup tout est commenté
|
||||||
|
|
||||||
zfs list -o name,used,usedbysnapshots -r zroot/ROOT -s creation | grep -v '^zxroot/ROOT .*' > /tmp/upsnap.tmp
|
zfs list -o name,used,usedbysnapshots -r zroot/ROOT -s creation | grep -v '^zxroot/ROOT .*' > /tmp/upsnap.tmp
|
||||||
|
|
||||||
|
# test de fonction output (sans doute a supprimer)
|
||||||
|
#output $LOG_FILE zfs list -o name,used,usedbysnapshots -r zroot/ROOT -s creation | grep -v '^zxroot/ROOT .*'
|
||||||
|
|
||||||
# for line in $(cat /tmp/upsnap.tmp | grep zroot | cut -d' ' -f1)
|
# for line in $(cat /tmp/upsnap.tmp | grep zroot | cut -d' ' -f1)
|
||||||
# do
|
# do
|
||||||
# z=''
|
# z=''
|
||||||
@ -276,8 +287,11 @@ function asksnap()
|
|||||||
then
|
then
|
||||||
snapname=$(date +%Y-%m-%d-%H%M%S)
|
snapname=$(date +%Y-%m-%d-%H%M%S)
|
||||||
sudo zfs snapshot $bootfs@$snapname
|
sudo zfs snapshot $bootfs@$snapname
|
||||||
#sudo date +%Y_%m_%d-%H:%M > $LOG_FILE
|
|
||||||
zfs list -H -o name $bootfs@$snapname # | tee -a $LOG_FILE
|
date +%Y_%m_%d-%H:%M > $LOG_FILE
|
||||||
|
output $LOG_FILE zfs list -H -o name $bootfs@$snapname
|
||||||
|
output $LOG_FILE zfs list -H -o name $bootfs@$snapname
|
||||||
|
|
||||||
askpromote $snapname $bootfs
|
askpromote $snapname $bootfs
|
||||||
else
|
else
|
||||||
echo no
|
echo no
|
||||||
@ -305,8 +319,8 @@ function askupgrade()
|
|||||||
# else
|
# else
|
||||||
# ask for making a snapshot
|
# ask for making a snapshot
|
||||||
|
|
||||||
printf '\n%s\n' 'apt list --upgradable' #| tee /tmp/upsnapz-upgradable
|
output $LOG_FILE printf '\n%s\n' 'apt list --upgradable'
|
||||||
apt list --upgradable #| tee -a /tmp/upsnapz-upgradable
|
output $LOG_FILE apt list --upgradable
|
||||||
|
|
||||||
printf '\nUpgrade or not : [Y-n]'
|
printf '\nUpgrade or not : [Y-n]'
|
||||||
read answer
|
read answer
|
||||||
@ -321,19 +335,19 @@ function askupgrade()
|
|||||||
then
|
then
|
||||||
if [ $1 -eq 1 ]
|
if [ $1 -eq 1 ]
|
||||||
then
|
then
|
||||||
echo '\nAbove packages need full upgrade.\nRun full-upgrade :' \
|
output $LOG_FILE echo '\nAbove packages need full upgrade.\nRun full-upgrade :'
|
||||||
# | tee -a /tmp/upsnapz-upgradable
|
output $LOG_FILE sudo apt -y full-upgrade
|
||||||
sudo apt -y full-upgrade # | tee -a /tmp/upsnapz-upgradable
|
|
||||||
elif [ $1 -eq 0 ]
|
elif [ $1 -eq 0 ]
|
||||||
then
|
then
|
||||||
printf 'before upgrade : '
|
printf 'before upgrade : '
|
||||||
asksnap
|
asksnap
|
||||||
printf '%s\n' 'apt -y upgrade'
|
output $LOG_FILE printf '%s\n' 'apt -y upgrade'
|
||||||
sudo apt -y upgrade # | tee -a /tmp/upsnapz-upgradable
|
output $LOG_FILE sudo apt -y upgrade
|
||||||
fi
|
fi
|
||||||
#sudo cat /tmp/upsnapz-upgradable >> $LOG_FILE
|
|
||||||
else
|
else
|
||||||
echo no
|
output $LOG_FILE echo 'apt -y upgrade'
|
||||||
|
output $LOG_FILE echo 'no upgrade ... bye'
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user