使用 bash 脚本和 cron 自动更新

使用 bash 脚本和 cron 自动更新

我正在尝试自动更新 debian 系统,而不进行升级。然后,每当有可用升级时,我都会向我发送一封电子邮件。

我尝试使用 cron-apt 来完成此操作,但我真的不喜欢配置的组织方式,这就是为什么我更喜欢使用启动脚本的(更干净的)cron 作业。

环顾四周,我发现了这段代码(不是我的):

if [[ `apt-get update 2>&1 | grep Get` ]]; then
  if [[ `apt-get --simulate dist-upgrade 2>&1 | grep Inst` ]]; then
    apt-get --simulate dist-upgrade
  fi
fi

据我所知,该脚本更新本地软件包列表,并模拟最终升级。

现在,如果可能的话,我想通过电子邮件向我发送更新和升级模拟的输出。为了避免我可以使用邮件命令:

发送第一封电子邮件:

apt-get 更新 | mail -s“每日更新报告”[电子邮件受保护]

第二封电子邮件:

apt-get --模拟 dist-upgrade | mail -s“每日升级模拟报告”[电子邮件受保护]

我的主要问题是是否有更好的方法来完成这一切......?

其次,我尝试过但没有成功地在一封电子邮件中发送所有内容,有人知道我该怎么做吗?

答案1

不要重新发明轮子。

apt-get 安装apticron

Apticron 是一个简单的脚本,它每天发送有关待处理软件包更新(例如安全更新)的电子邮件,并通过 dselect 和 aptitude 正确处理搁置的软件包。

相关内容