new files to more easily sync from and to git
This commit is contained in:
		
							
								
								
									
										65
									
								
								scripts/sync_general.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								scripts/sync_general.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					shopt -s expand_aliases
 | 
				
			||||||
 | 
					source /sync/home_internal/.bash_aliases # FSCLEANUP -> zum besseren testen
 | 
				
			||||||
 | 
					# source /sync/home_external/.bash_aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sync () {
 | 
				
			||||||
 | 
					   dry_run=false
 | 
				
			||||||
 | 
					   home_or_root=
 | 
				
			||||||
 | 
					   update=true
 | 
				
			||||||
 | 
					   in_to_ex=
 | 
				
			||||||
 | 
					   while [[ $# > 0 ]]; do
 | 
				
			||||||
 | 
					      case $1 in
 | 
				
			||||||
 | 
					         -d | --dry      ) dry_run=true;    shift;;
 | 
				
			||||||
 | 
					         -c | --checksum ) update=false;    shift;;
 | 
				
			||||||
 | 
					         --in-to-ex      ) in_to_ex=true;   shift;;
 | 
				
			||||||
 | 
					         --ex-to-in      ) in_to_ex=false;  shift;;
 | 
				
			||||||
 | 
					         --dir           ) home_or_root=$2; shift 2;;
 | 
				
			||||||
 | 
					         *               ) break ;; # Anything else stops command line processing.
 | 
				
			||||||
 | 
					      esac
 | 
				
			||||||
 | 
					   done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   dir_external=/sync/${home_or_root}_external/
 | 
				
			||||||
 | 
					   dir_internal=/sync/${home_or_root}_internal/
 | 
				
			||||||
 | 
					   # dry-run
 | 
				
			||||||
 | 
					   if [[ "$dry_run" == true ]]; then
 | 
				
			||||||
 | 
					      ex_to_in=
 | 
				
			||||||
 | 
					      in_to_ex=
 | 
				
			||||||
 | 
					      update_or_default=
 | 
				
			||||||
 | 
					      if [[ "$update" == true ]]; then
 | 
				
			||||||
 | 
					         update_or_default='UPDATE'
 | 
				
			||||||
 | 
					         ex_to_in=$(rsync_update $dir_external $dir_internal --dry-run)
 | 
				
			||||||
 | 
					         in_to_ex=$(rsync_update $dir_internal $dir_external --dry-run)
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					         update_or_default='DEFAULT'
 | 
				
			||||||
 | 
					         ex_to_in=$(rsync_default $dir_external $dir_internal --dry-run)
 | 
				
			||||||
 | 
					         in_to_ex=$(rsync_default $dir_internal $dir_external --dry-run)
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					      # use printf for displaying \n as newline correctly
 | 
				
			||||||
 | 
					      printf "RSYNC ${update_or_default}: external -> internal:\n\n$ex_to_in\n\nRSYNC ${update_or_default}: internal -> external:\n\n$in_to_ex\n"
 | 
				
			||||||
 | 
					      exit 0;
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   # real deal
 | 
				
			||||||
 | 
					   if [[ -z "$in_to_ex" ]]; then
 | 
				
			||||||
 | 
					      echo "Error. No sync direction given."
 | 
				
			||||||
 | 
					      exit 1;
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   if [[ "$update" == true ]]; then
 | 
				
			||||||
 | 
					      if [[ "$in_to_ex" == true ]]; then
 | 
				
			||||||
 | 
					         rsync_update $dir_internal $dir_external
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					         rsync_update $dir_external $dir_internal
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					      exit 0;
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
 | 
					   if [[ "$in_to_ex" == true ]]; then
 | 
				
			||||||
 | 
					      rsync_default $dir_internal $dir_external
 | 
				
			||||||
 | 
					   else
 | 
				
			||||||
 | 
					      rsync_default $dir_external $dir_internal
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								scripts/sync_home.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								scripts/sync_home.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /sync/scripts/sync_general.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sync --dir home $@
 | 
				
			||||||
							
								
								
									
										6
									
								
								scripts/sync_root.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								scripts/sync_root.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /sync/scripts/sync_general.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sync --dir root $@
 | 
				
			||||||
		Reference in New Issue
	
	Block a user