multiple exclusions
Normally, multiple exclusion in rsync is :
rsync [args] --exclude=excl1 --exclude=excl2 ... --exclude=excln [source] [destination]
however in real scenario if the person is looking for reuse concept and modularity and doing the job fundamentally, will think “what if or how to prevent writing --exclude every time and rely on software development concepts on string rendering on … therefore that comes to mind we store the paths into an array (or a long string with separator) "
then it will be like bellow
exclude_paths=("/dev/" "/media/" "/mnt/" "/opt/" "/proc/" "/run/" "/home/user/Desktop/gdrive_online/" "/home/user/.*")
source=/
destination=./
excls_str=""
for path in "${exclude_paths[@]}"; do
excls_str+=" --exclude=${path}"
done
command="rsync -av$excls_str $source $destination"
echo $command
$command
However, it can be even better. For example, relying on runtime to specify the exclusions and source and destination using GUI.