我有一个 Ubuntu 16.04 Nginx 环境,其中有一些最小的 WordPress 站点(几乎全部带有最多 5 个传统插件、10 个页面、10 个图像和一个仅发送文本数据的简单联系表单)。
cron_daily.sh
我每天使用以下三个循环执行脚本,从crontab
到更新文档根目录下的所有 WordPress 应用程序。该脚本使用WP-CLI外壳扩展。
for dir in ${drt}/*/; do cd ${dir} && wp plugin update --all --allow-root; done
for dir in ${drt}/*/; do cd ${dir} && wp core update --allow-root; done
for dir in ${drt}/*/; do cd ${dir} && wp theme update --all --allow-root; done
${drt}
是文档根目录。它已经永久对外宣布,其文件来源。
我正在寻找一种方法将这三个循环的行为统一到一个片段中。
这种模式看起来很有前途,并且基于这例子:
for dir in ${drt}/*/; do
if pushd ${dir}; then
wp plugin update --all --allow-root
wp core update --allow-root
wp theme update --all --allow-root
popd
fi
done
这是可以使用的最短模式吗?你会怎么做?
答案1
为什么要进行三次相同的循环而不是像您的示例中那样进行一次循环?
乍一看,我不明白这怎么会变得更短——也不明白为什么它应该如此。
如果有的话,通过改进 WordPress 的检测(如果需要),脚本可以变得更好(从而更长)。另外,我可能也会运行wp language core update
以确保翻译是最新的。