u
This commit is contained in:
		
							parent
							
								
									b7e8448582
								
							
						
					
					
						commit
						ab001c8d5f
					
				| @ -1,28 +1,35 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| 
 | 
 | ||||||
| echo "=== rclone <i> to install, <s> to sync, <w> to web gui"  | echo "=== rclone <i> to install, <s> to sync, <c> to copy, <w> to web gui"  | ||||||
| read -p ">>> " ACTION_TYPE | read -p ">>> " ACTION_TYPE | ||||||
| if [ "$ACTION_TYPE" = 'i' ] | if [ "$ACTION_TYPE" = 'i' ] | ||||||
| then | then | ||||||
|   sudo -v ; curl https://rclone.org/install.sh | sudo bash |   sudo -v ; curl https://rclone.org/install.sh | sudo bash | ||||||
| elif [ "$ACTION_TYPE" = 's' ] | elif [[ "$ACTION_TYPE" = 's' || "$ACTION_TYPE" = 'c' ]] | ||||||
| then | then | ||||||
|   echo "rclone sync from source:" |   if [ "$ACTION_TYPE" = 's' ] | ||||||
|   read -p ">>> " SOURCE_PATH |   then  | ||||||
|   echo "rclone sync to target:" |     RC_CMD='sync' | ||||||
|   read -p ">>> " TARGET_PATH |   elif [  ] | ||||||
|   echo "rclone sync with max-age:" |   then | ||||||
|   read -p ">>> " MAX_AGE |     RC_CMD='copy' | ||||||
|  |   fi | ||||||
|  |   read -p "rclone $RC_CMD from source >>> " SOURCE_PATH | ||||||
|  |   read -p "rclone $RC_CMD into target >>> " TARGET_PATH | ||||||
|  | #  read -p "rclone $RC_CMD  with max-age >>> " MAX_AGE ## 发现用了 max-age 并没有提升速度,反而略有下降,即使对大量现有文件和少量更新文件 | ||||||
|  |   read -p "rclone $RC_CMD excluding (folders must end with /) >>> " EXCLUDING | ||||||
|    |    | ||||||
|   echo |   echo | ||||||
|   echo "*****************************" |   echo "*****************************" | ||||||
|   echo "rclone sync $SOURCE_PATH $TARGET_PATH -P -L --create-empty-src-dirs --max-age=$MAX_AGE --exclude=._* --exclude=.DS_Store --exclude=node_modules" |   echo "rclone $RC_CMD $SOURCE_PATH $TARGET_PATH -P -L --create-empty-src-dirs --exclude=._* --exclude=.DS_Store --exclude={node_modules/,.deploy_git/,unpackage/,$EXCLUDING}" | ||||||
|   echo "*****************************" |   echo "*****************************" | ||||||
|   echo "Start cloning? <y> for yes, <anything else> for quit" |   echo "Starting? <y> for yes, <anything else> for quit" | ||||||
|   read -p ">>> " YES_OR_NOT |   read -p ">>> " YES_OR_NOT | ||||||
|   if [ "$YES_OR_NOT" = 'y' ] |   if [ "$YES_OR_NOT" = 'y' ] | ||||||
|   then |   then | ||||||
|     rclone sync $SOURCE_PATH $TARGET_PATH -P -L --create-empty-src-dirs --max-age=$MAX_AGE --exclude=._* --exclude=.DS_Store --exclude={node_modules/,.deploy_git/,unpackage/} |     echo "****************** [rclone $RC_CMD] Start: `date -u -Iseconds` *****************" | ||||||
|  |     rclone $RC_CMD $SOURCE_PATH $TARGET_PATH -P -L --create-empty-src-dirs --exclude=._* --exclude=.DS_Store --exclude={node_modules/,.deploy_git/,unpackage/,$EXCLUDING} | ||||||
|  |     echo "****************** [rclone $RC_CMD] Start: `date -u -Iseconds` *****************" | ||||||
|   fi |   fi | ||||||
| elif [ "ACTION_TYPE" = 'w' ] | elif [ "ACTION_TYPE" = 'w' ] | ||||||
| then | then | ||||||
|  | |||||||
							
								
								
									
										48
									
								
								run-files-recursively.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								run-files-recursively.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | |||||||
|  | echo "***************************************" | ||||||
|  | echo "find \$FOLDER -mindepth \$MINDEPTH -maxdepth \$MAXDEPTH -type d_f_l -name \"\$PATTERN\" | while read item; do echo \"\$item\"; done" | ||||||
|  | echo "***************************************" | ||||||
|  | 
 | ||||||
|  | echo "To find in which path? Enter <path> or <leave blank> for the current path:" | ||||||
|  | read -p ">>> " FIND_FOLDER | ||||||
|  | if [ ! "$FIND_FOLDER" ] | ||||||
|  | then | ||||||
|  |   FIND_FOLDER="." | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | read -p "mindepth >>> " MINDEPTH | ||||||
|  | if [ "$MINDEPTH" ] | ||||||
|  | then | ||||||
|  |   MINDEPTH_CLAUSE="-mindepth $MINDEPTH" | ||||||
|  | fi | ||||||
|  | read -p "maxdepth >>> " MAXDEPTH | ||||||
|  | if [ "$MAXDEPTH" ] | ||||||
|  | then | ||||||
|  |   MAXDEPTH_CLAUSE="-mindepth $MAXDEPTH" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo "To find file or directory? <f> for file, <d> for directory, <l> for link, <leave blank> for all:" | ||||||
|  | read -p ">>> " FIND_TYPE | ||||||
|  | if [ "$FIND_TYPE" ] | ||||||
|  | then | ||||||
|  |   FIND_TYPE_CLAUSE="-type $FIND_TYPE" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo "To match pattern: <pattern> (e.g. '._*', '.*.js') or or <leave blank> for all:" | ||||||
|  | read -p ">>> " FIND_PATTERN | ||||||
|  | if [ ! "$FIND_PATTERN" ] | ||||||
|  | then | ||||||
|  |   FIND_PATTERN="*" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo "To do something on each: <command> or <leave blank> for 'echo':" | ||||||
|  | read -p ">>> " FIND_ACTION | ||||||
|  | if [ ! "$FIND_ACTION" ] | ||||||
|  | then | ||||||
|  |   FIND_ACTION='echo' | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo "***************************************" | ||||||
|  | echo "find $FIND_FOLDER $MINDEPTH_CLAUSE $MAXDEPTH_CLAUSE $FIND_TYPE_CLAUSE -name \"$FIND_PATTERN\" | while read item; do $FIND_ACTION \"\$item\"; done" | ||||||
|  | echo "***************************************" | ||||||
|  | 
 | ||||||
|  | find $FIND_FOLDER $MINDEPTH_CLAUSE $MAXDEPTH_CLAUSE $FIND_TYPE_CLAUSE -name "$FIND_PATTERN" | while read item; do $FIND_ACTION "$item"; done | ||||||
| @ -12,7 +12,7 @@ mkdir $SETTINGS_FOLDER | |||||||
| seaf-cli init -d $SETTINGS_FOLDER | seaf-cli init -d $SETTINGS_FOLDER | ||||||
| seaf-cli start | seaf-cli start | ||||||
| 
 | 
 | ||||||
| echo To sync a librarcy, run commands like: | echo To sync a library, run commands like: | ||||||
| echo Download a new folder to sync with: | echo Download a new folder to sync with: | ||||||
| echo   seaf-cli download -l "library_id" -s "server_url" [-d "parent_folder"] -u "user_name" | echo   seaf-cli download -l "library_id" -s "server_url" [-d "parent_folder"] -u "user_name" | ||||||
| echo   seaf-cli download-by-name -L "library_id" -s "server_url" [-d "target_folder_not_parent"] -u "user_name" | echo   seaf-cli download-by-name -L "library_id" -s "server_url" [-d "target_folder_not_parent"] -u "user_name" | ||||||
|  | |||||||
| @ -9,19 +9,26 @@ sudo apt-get install python3 python3-setuptools python3-pip python3-ldap sqlite3 | |||||||
| ## for seafile 9.*:  | ## for seafile 9.*:  | ||||||
| # sudo pip3 install --timeout=3600 django==3.2.* future Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django-simple-captcha pycryptodome==3.12.0 | # sudo pip3 install --timeout=3600 django==3.2.* future Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django-simple-captcha pycryptodome==3.12.0 | ||||||
| 
 | 
 | ||||||
| echo "=== Enter <version number> to install, or <leave blank> for default 9.0.10:" | echo "=== Enter <version number> to install, or <leave blank> for default 10.0.1:" | ||||||
| read -p ">>> " SFVERSION | read -p ">>> " SFVERSION | ||||||
| if [ ! "$SFVERSION" ] | if [ ! "$SFVERSION" ] | ||||||
| then | then | ||||||
|   SFVERSION="9.0.10" |   SFVERSION="10.0.1" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | echo "=== Enter <installation path> for seafile installation, or <leave blank> for default to `pwd`:" | ||||||
|  | read -p ">>> " INSTALL_PATH | ||||||
|  | if [ ! "$INSTALL_PATH" ] | ||||||
|  | then | ||||||
|  |   INSTALL_PATH=`pwd` | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | sudo mkdir -p "$INSTALL_PATH" | ||||||
|  | pushd "$INSTALL_PATH" | ||||||
| 
 | 
 | ||||||
| pushd /faronear |  | ||||||
| sudo mkdir bin-seafile |  | ||||||
| cd bin-seafile | cd bin-seafile | ||||||
| sudo wget https://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_$SFVERSION_x86-64.tar.gz | sudo wget https://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_${SFVERSION}_x86-64.tar.gz | ||||||
| sudo tar -xzf seafile-server_$SFVERSION_x86-64.tar.gz | sudo tar -xzf seafile-server_${SFVERSION}_x86-64.tar.gz | ||||||
| ln -s seafile-server-$SFVERSION sea | ln -s seafile-server-$SFVERSION sea | ||||||
| cd sea | cd sea | ||||||
| sudo ./setup-seafile.sh # to setup seafile+sqlite (setup-seafile-mysql.sh is for mysql). this will create ccnet,conf,seafile-data,seahub-data,seahub.db inside the parent folder /faronear/bin-seafile | sudo ./setup-seafile.sh # to setup seafile+sqlite (setup-seafile-mysql.sh is for mysql). this will create ccnet,conf,seafile-data,seahub-data,seahub.db inside the parent folder /faronear/bin-seafile | ||||||
|  | |||||||
| @ -1,3 +0,0 @@ | |||||||
| cd /faronear/bin.seafile/sea |  | ||||||
| sudo ./seafile.sh start |  | ||||||
| sudo ./seahub.sh start |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user