用于自动执行时移备份和 azuracast 更新的脚本
Script to automate timeshift backup and azuracast update
我正在 运行在 Linode 上安装一个 Azuracast docker 实例,并想尝试找到一种自动更新的方法。现在我的例程是当我通过访问 Azuracast 网络面板注意到有更新时,我通常 运行 使用以下命令
时移来创建备份
timeshift —-创建 —-评论“azuracast 更新”
然后我使用以下更新 azuracast
cd /var/azuracast/
./docker.sh 更新自我
./docker.sh更新
然后它要求我确保在更新之前备份 azuracast 安装,我通常只需按 enter 键即可。
完成后,它问我是否要清理所有停止的 docker 容器和图像以保存 space,我通常拒绝。
我想知道是否有办法创建 bash 脚本,或 python 或其他东西来自动执行所有这些,然后将其 运行时间表?
当然,您可以编写一个 shell 脚本来执行这些命令,然后 运行 使用 crontab(5).
按计划执行
例如,您的脚本可能如下所示:
#! /bin/sh
# Backup azuracast and restart docker container
timeshift --create --comment “azuracast update” && \
cd /var/azuracast/ && \
./docker.sh update-self && \
(yes | ./docker.sh update)
听起来这个 docker.sh
程序需要一些用户输入。查看是否有可以传递给它的选项,这些选项将允许您以非交互方式 运行 它。 (好像没有,见编辑。)
要设置您的 cron 作业,您可以将脚本放在 /etc/cron.hourly
、/etc/cron.daily
、/etc/cron.weekly
或 /etc/cron.monthly
中。或者,如果您需要更多控制,您可以开始使用 crontab -e
配置一个 cron 作业。 Better explanation.
编辑:假设this is the script you're using, it doesn't seem to have a way to run update
non-interactively. Fear not though, there's a program for this: yes(1)。这两个问题的答案都是肯定的,但老实说 运行ning docker system prune -f
可能是个好主意。如果你真的想对此回答“否”,你可以用 yes
代替 printf "y\nn"
来对第一个回答是,对第二个回答否。
另请注意,在 least one other y/n 处它可能会问您一个问题,您可能想回答是。
我正在 运行在 Linode 上安装一个 Azuracast docker 实例,并想尝试找到一种自动更新的方法。现在我的例程是当我通过访问 Azuracast 网络面板注意到有更新时,我通常 运行 使用以下命令
时移来创建备份timeshift —-创建 —-评论“azuracast 更新”
然后我使用以下更新 azuracast
cd /var/azuracast/ ./docker.sh 更新自我 ./docker.sh更新
然后它要求我确保在更新之前备份 azuracast 安装,我通常只需按 enter 键即可。
完成后,它问我是否要清理所有停止的 docker 容器和图像以保存 space,我通常拒绝。
我想知道是否有办法创建 bash 脚本,或 python 或其他东西来自动执行所有这些,然后将其 运行时间表?
当然,您可以编写一个 shell 脚本来执行这些命令,然后 运行 使用 crontab(5).
按计划执行例如,您的脚本可能如下所示:
#! /bin/sh
# Backup azuracast and restart docker container
timeshift --create --comment “azuracast update” && \
cd /var/azuracast/ && \
./docker.sh update-self && \
(yes | ./docker.sh update)
听起来这个 docker.sh
程序需要一些用户输入。查看是否有可以传递给它的选项,这些选项将允许您以非交互方式 运行 它。 (好像没有,见编辑。)
要设置您的 cron 作业,您可以将脚本放在 /etc/cron.hourly
、/etc/cron.daily
、/etc/cron.weekly
或 /etc/cron.monthly
中。或者,如果您需要更多控制,您可以开始使用 crontab -e
配置一个 cron 作业。 Better explanation.
编辑:假设this is the script you're using, it doesn't seem to have a way to run update
non-interactively. Fear not though, there's a program for this: yes(1)。这两个问题的答案都是肯定的,但老实说 运行ning docker system prune -f
可能是个好主意。如果你真的想对此回答“否”,你可以用 yes
代替 printf "y\nn"
来对第一个回答是,对第二个回答否。
另请注意,在 least one other y/n 处它可能会问您一个问题,您可能想回答是。