projects
/
clearscm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hopefully final adjustments to certbot
[clearscm.git]
/
bin
/
update-system
diff --git
a/bin/update-system
b/bin/update-system
index
7f385e7
..
79d3d1c
100755
(executable)
--- a/
bin/update-system
+++ b/
bin/update-system
@@
-2,20
+2,32
@@
export PATH=$PATH:/sbin:/usr/sbin
logfile=/var/local/log/update-system.log
export PATH=$PATH:/sbin:/usr/sbin
logfile=/var/local/log/update-system.log
+tmpfile=/tmp/update-system.list
-echo "$(date): $HOSTNAME: update-system: Start" > $logfile
+apt-get update -y > /dev/null 2>&1
-apt-get update -y >> $logfile 2>&1
-
-uptodate=$(apt list --upgradeable 2> /dev/null | grep -v "^Listing" | wc -l)
+apt list --upgradeable > $tmpfile 2> /dev/null
+uptodate=$(grep -v "^Listing" $tmpfile | wc -l)
if [ $uptodate -ne 0 ]; then
if [ $uptodate -ne 0 ]; then
- apt-get upgrade -y >> $logfile 2>&1
- apt-get autoremove -y >> $logfile 2>&1
+ cat $tmpfile >> $logfile && rm $tmpfile
+
+ apt-get upgrade -y >> $tmpfile
+
+ held_back=$(grep "kept back" $tmpfile | wc -l)
+
+ if [ $held_back -ne 0 ]; then
+ echo "$(date): $HOSTNAME not updated - packages held back" >> $logfile
- echo "Updated $HOSTNAME" >> $logfile
+ cat $tmpfile >> $logfile && rm $tmpfile
+ else
+ rm $tmpfile
+ echo "$(date): Updated $HOSTNAME" >> $logfile
+ fi
+
+ apt-get autoremove -y >> /dev/null 2>&1
else
else
- echo "No updates for $HOSTNAME" >> $logfile
-fi
+ rm $tmpfile
-echo "$(date): $HOSTNAME: update-system: End" >> $logfile
+ echo "$(date): No updates for $HOSTNAME" >> $logfile
+fi