cronjob.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. # wrapper around update scripts to produce shorter and more useful email reports
  3. # TODO: Maybe better implemented with different log levels..
  4. ROOT=/srv/http/htdocs/apt-sec/
  5. mirror=$($ROOT/mirror-all.sh update)
  6. aptsec=$($ROOT/update-aptsec.sh)
  7. echo "$mirror" > $ROOT/cronjob.log
  8. echo "$aptsec" >> $ROOT/cronjob.log
  9. # first uniq summarizes each bad file into packages,
  10. # second uniq -c counts number of bad packages for cron report
  11. head=$(echo "$aptsec" |grep -B 500 "^Parsing Sha1Sums file...$")
  12. pkgs=$(echo "$aptsec" |grep "^No pkg known" |sort |uniq |sed s/.*/"pkg(s) not found (stale sha1sum entry?)"/ |uniq -c)
  13. spkg=$(echo "$aptsec" |grep "^No srcpkg known" |sort |uniq |sed s/.*/"srcpkg(s) not found (inconsistent meta-data?)"/ |uniq -c)
  14. done=$(echo "$aptsec" |grep "^Processing package" |sed s/.*/"Packages processed"/ |uniq -c)
  15. end=$(echo "$aptsec" |grep -A 10000 "^Parsing Sha1Sums file...$" \
  16. |grep -v "^Parsing Sha1Sums file...$"|grep -v "^Processing" \
  17. |grep -v "^No pkg known for"|grep -v "^No srcpkg known for")
  18. # must re-create graphs
  19. rm $ROOT/html/graphs/*.png
  20. # output for email report
  21. echo "$mirror"
  22. echo "$head"
  23. echo "$pkgs"
  24. echo "$spkg"
  25. echo "$done"
  26. echo "$end"