# Iterate through all drupal instances
function drupal_iterate {
+ if [ -z "$1" ]; then
+ return
+ fi
+
+ if [ "$SILENT" != "yes" ]; then
+ echo "Issuing $1 in all installed instances..."
+ fi
+
for version in $SERIES; do
# Setup base folder
base="$BASE/drupal-$version"
if [ -e "$drupal/settings.php" ]; then
hash="`sha1sum $drupal/settings.php | cut -d ' ' -f 1`"
# Process sites just once, avoiding symlinks
- if echo $settings_hash | grep -q -v $hash; then
- settings_hash="$settings_hash-$hash"
+ if echo $settings_hash | grep -q -v "$1:$hash"; then
+ settings_hash="$settings_hash-$1:$hash"
if [ "$1" != "cron" ] && [ "$SILENT" != "yes" ]; then
echo "Processing $drupal..."
fi
drupal_iterate cron
elif [ "$1" == "cron-update" ]; then
SILENT="yes"
- drupal_iterate pm-refresh $* &> /dev/null
+ drupal_iterate pm-refresh &> /dev/null
drupal_iterate -y -p pm-update | grep -v -E 'Unknown|Up-to-date|Atualizado|Desconhecido|^Array$|^\($|^\)$|OK'
elif [ "$1" == "deploy" ]; then
shift
drupal_deploy $*
elif [ "$1" == "update" ]; then
shift
- drupal_iterate pm-refresh $*
+ drupal_iterate pm-refresh
drupal_iterate pm-update $*
# Update alone might not trigger updatedb in a farm for all instances.