I am sharing a small script to automate file upload from local to remote server with preview option.
I use rsync
to mirror both directories. It will only upload changes and will delete any file from remote directory that are not in local.
This script will default to dry-run (no changes will be made). Just add --run
option to upload and write changes.
Script File: rsync-www.sh
#!/bin/zsh
# default to --dry-run to prevent accidental sync
SYNC_OPTION="--dry-run"
if [[ $1 == "--run" ]]; then
# remove dry-run option and sync
SYNC_OPTION=
fi
if [[ -d "./dist" ]]; then
# sync/mirror ./dist/ with remote dir, delete extranous file in remote dir
rsync -avz $SYNC_OPTION --delete ./dist/ you@yourser.ver:/var/www/html/
else
echo "./dist does not exist"
fi
Run this script
rsync-www.sh # preview all changes
rsync-www.sh --run # upload all changes
Note -- You might need to change file mode to executable
chmod +x rysnc-www.sh
All codes in this post is provided under CC0 licence.
Top comments (0)