Это лучше всего автоматизировать с помощью учетной записи root/admin и не оставлять в файлах обычного пользователя.
Лучшая практика в отношении того, чего вы хотите достичь, - стать пользователем root sudo su -
и затем работать в /root user dir. Нечто подобное обычно лучше всего хранить в ~/bin
или ~/scripts
поэтому, если оно не существует, вам, возможно, потребуется его создать, а затем убедиться, что новый дом является частью вашего PATH
. Всегда полезно иметь какой-то каталог сценариев для размещения небольших сценариев, которые вы используете для управления своими системами. Со временем у вас их будет довольно много, и у каждого администратора есть свой "набор инструментов", который они держатся за эти вещи. Хитрость заключается в том, чтобы попытаться написать код, который можно использовать повторно и тем самым облегчить вашу жизнь.
Если вы собираетесь использовать несколько этих файлов, я бы создал для них специальный каталог, например ~/scripts/sysupdates
и постараюсь, чтобы каждый файл выполнял только одну вещь. Это отражает функции других * nix систем, таких как init.d, и сделает обслуживание системы более простым и интуитивно понятным. Это также имеет целью ограничить наши записи в других местах, как вы скоро увидите.
если вы создаете файлы для того, что хотите обновить, как упомянуто выше (например, postfix, qmail, update), то вы можете просмотреть их с помощью одного скрипта в ~/scripts, который может быть чем-то вроде:
#/usr/bin/bash
#
# Script: updater.sh
# Author: My Name
# Date: yyyymmdd - ee (ee = times edited)
#
# Purpose: run update scripts from ~/scripts/sysupdates
#
# Notes:
#
for SCRIPT in `ls ~/scripts/sysupdates`; do ${SCRIPT}; done
Сделайте себе одолжение и получите привычку делать правильный заголовок для каждого файла, который вы создаете. Это займет всего минуту и избавит от головной боли в будущем, помните, что вы, возможно, не помните, почему вы создали его позже или что он сделал, или это может быть не тот, кто должен поддерживать его один день.
Последняя часть этого для редактирования корневого crontab. Cron - это программа, которая запускает данный скрипт с заданным интервалом. Поэтому, если мы добавим наш скрипт updater.sh в crontab, все, что нам нужно сделать, это добавить файлы в ~/scripts/sysupdates
и они запустятся автоматически.
Вы получаете доступ к crontab с помощью crontab -e
который редактирует crontab с помощью определенного системного редактора (обычно это vim в linux).Существует генератор crontab, который поможет вам по адресу:http://www.thepcmanwebsite.com/crontab_generator.shtml сделать свой собственный.
Добавьте строку:
5 0 1 * * /root/scripts/updater.sh
Тебе должно быть хорошо идти.
Удачи с этими инструментами, поскольку они могут сделать жизнь SysAdmin намного проще.
Одно слово предостережения; Я бы не стал добавлять apt-get -y dist-upgrade в ваши скрипты, запускать его, когда вы готовы с ним справиться, если он запустится неправильно.