Skip to content

Instantly share code, notes, and snippets.

@fredrike
Forked from auckenox/move_packages.sh
Last active November 24, 2023 12:53
Show Gist options
  • Save fredrike/eb147a3df080a36e113738a185444fb3 to your computer and use it in GitHub Desktop.
Save fredrike/eb147a3df080a36e113738a185444fb3 to your computer and use it in GitHub Desktop.
Synology move packages to another volume
#!/bin/bash
# this script moves ALL packages from volume-x to volume-y
# For Synology DSM - tested with DSM6.1
if [ $# -lt 2 ]; then
echo "usage: $0 <from_vol> <to_vol>"
exit -1
fi
from_vol="$1"
to_vol="$2"
from_path="/$from_vol/\@appstore/"
to_path="/$to_vol/\@appstore/"
move_package () {
echo "##############################################################"
echo "moving package $1 from $2 to $3"
echo ":::: stopping package $1 ..."
/var/packages/$1/scripts/start-stop-status stop
echo ":::: removing link to package from $2 ..."
rm -fv /var/packages/$1/target
echo ":::: adding link to package to $3 ..."
ln -s /$3/\@appstore/$1 /var/packages/$1/target
echo ":::: starting package $1 on new location ..."
/var/packages/$1/scripts/start-stop-status start
}
# scanning the @appstore folder for packages
for d in $from_path*/ ; do
package_name="$(basename $d)"
move_package $package_name $from_vol $to_vol
done
echo "##############################################################"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment