我只想要一个运行一些更新命令的脚本。我希望它们每天凌晨 3 点发生。
我不明白为什么它们不起作用。我将其添加到 crontab -e
0 3 * * * root /etc/cron.custom/update
更新文件中的脚本是
#!/bin/bash
# if not root, run as root
if (( $EUID != 0 )); then
sudo /home/jb/bash/update.sh
exit
fi
apt-get update
dietpi-update
apt-get -y upgrade
apt-get -y dist-upgrade
apt-get clean
apt-get -y autoremove
reboot
我不知道如何制作脚本,所以我从互联网上找到了它。令人惊讶的是,很难找到有关如何编辑与 cron 相关的任何内容的答案。
无人值守升级不会升级所有内容,因此在有人推荐它之前我已经尝试过它并且它不断错过了很多。
简而言之,如何自动更新和升级我的设备?
运行 Debian (DietPi)。
答案1
创建所需的文件夹,然后创建 nano 和 crontab。完毕。
sudo nano /home/jb/scripts/update
#!/bin/bash
apt-get update ; apt-get -y upgrade ; apt-get -y dist-upgrade ; apt-get clean ; apt-get -y autoremove ; reboot
须藤 crontab -e
0 3 * * * sudo bash /home/jb/scripts/update
答案2
(我可以从我自己的经验中完全证实你的指控。就在最近,我试图让一些 cronjobs 在 Raspbian 上工作,但它们都没有以任何设置 crontab 的标准方式工作。)
现在您要做的就是复制并粘贴其中的大部分内容:
mkdir /home/jb/scripts
sudo cp /etc/cron.custom/update /home/jb/scripts/
sudo crontab -e
将以下内容添加到现在打开的定时任务:
0 3 * * * sudo bash /home/jb/scripts/update
退出 crontab。
(是的须藤必须添加,即使crontab -e已经处于 sudo 模式...)
还要更改更新文件至:
#!/bin/bash
apt-get update dietpi-update apt-get -y upgrade apt-get -y dist-upgrade apt-get clean apt-get -y autoremove reboot