मान लें कि आपका सिस्टम हमेशा अपने आप अपडेट हो जाता है apt-get upgrade
इस स्क्रिप्ट को क्रोनजोब द्वारा चलाया जा सकता है:
#!/bin/bash
# Optional run this command first if not using automatic upgrades
# sudo apt-get update && sudo apt-get upgrade -y
pkglist=$(apt-get -su --assume-no dist-upgrade)
pending=$(echo "$pkglist" | grep -oE "[0-9]+ upgraded, [0-9]+ newly installed, [0-9]+ to remove and [0-9]+ not upgraded\.")
upgraded=$(echo "$pending" | grep -oE "[0-9]+ upgraded" | cut -d' ' -f1)
installed=$(echo "$pending" | grep -oE "[0-9]+ newly installed" | cut -d' ' -f1)
removed=$(echo "$pending" | grep -oE "[0-9]+ to remove" | cut -d' ' -f1)
count=$(( $upgraded + $installed + $removed ))
if [ "$count" -ne "0" ]; then
echo "$count pending packages to upgrade/install/remove, sending email"
echo "$pkglist" | mail -s "dist-upgrade: $count pending packages" email@example.com
fi
स्क्रिप्ट निम्न कमांड के साथ लंबित पैकेजों की जांच करती है
apt-get -su --assume-no dist-upgrade
विकल्प:
- -s , एक अनुकरण करता है
- -u , उन्नत पैकेजों की एक सूची प्रिंट करें
- -assume नहीं , सभी संकेतों के लिए स्वचालित "नहीं"
यदि कोई लंबित पैकेजों को अपग्रेड किया जाना है, नव स्थापित किया गया है या हटाना है, तो स्क्रिप्ट एक ईमेल भेजती है email@example.com
पैकेज की सूची के साथ और एक संदेश प्रिंट करता है।
संभव विकल्प: apticron
यदि कोई लंबित पैकेज हैं तो यह पैकेज दैनिक ईमेल भेजेगा।
इसे आपकी समस्या को भी हल करना चाहिए, क्योंकि यह उन पैकेजों के बारे में भी सूचित करता है जिन्हें वापस रखा गया है।