Changeset 3549 for palm/trunk/SCRIPTS/batch_scp
- Timestamp:
- Nov 21, 2018 3:44:44 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/batch_scp
r2718 r3549 27 27 # ----------------- 28 28 # $Id$ 29 # english translation of german comments / variable names 30 # 31 # 2718 2018-01-02 08:49:38Z maronga 29 32 # Corrected "Former revisions" section 30 33 # … … 87 90 88 91 89 # VARIABLE NVEREINBARUNGEN + DEFAULTWERTE92 # VARIABLE DECLARATIONS + DEFAULT VALUES 90 93 random=$RANDOM 91 94 … … 111 114 typeset -i iii icycle maxcycle=0 usecycle wait=0 112 115 113 # FEHLERBEHANDLUNG 114 # BEI EXIT: 116 117 # ERROR HANDLING IN CASE ... 118 # ... EXIT 115 119 trap 'if [[ $locat != normal ]] 116 120 then … … 125 129 126 130 127 # BEITERMINAL-BREAK:131 # ... TERMINAL-BREAK: 128 132 trap 'rm -rf $filelist $errfile 129 133 printf " +++ BATCH_SCP terminated \n\n" … … 132 136 133 137 134 # SHELLSCRIPT-OPTIONEN EINLESEN138 # READ SHELLSCRIPT-OPTIONS 135 139 while getopts :aAbcCdgmnoP:qsu:U:w: option 136 140 do … … 164 168 165 169 166 # KURZE AUFRUFBESCHREIBUNG WIRD HIER AUSGEGEBEN170 # LIST SHORT DESCRIPTION OF AVAILABLE OPTIONS 167 171 if [ "$1" = "?" ] 168 172 then … … 194 198 printf "\n any time and have the following meaning:" 195 199 printf "\n <param1> - IP-adress of destination host" 196 printf "\n or \"?\" (creates this outline)"200 printf "\n or \"?\" (creates this short summary of options)" 197 201 printf "\n <param2> - abs. or rel. path of file to be transferred" 198 202 printf "\n <param3> - directory (abs.!) on destination host. Special cahracters" … … 206 210 207 211 208 # PRUEFEN, OB ALLE ARGUMENTE VORLIEGEN212 # CHECK FOR COMPLETENESS OF ARGUMENTS 209 213 if [[ "$1" = "" ]] 210 214 then … … 229 233 if [[ -z $remote_user ]] 230 234 then 231 232 # PRUEFEN, OB NETRC-DATEI VORHANDEN 233 if [[ ! -f ~/.netrc ]] 234 then 235 printf " +++ option -u not given; \n" 236 printf " getting remote-username from password file failed \n" 237 printf " because ~/.netrc does not exist \n" 238 locat=netrc; exit 239 fi 240 grep $1 ~/.netrc | read dum dum dum remote_user dum dum 241 fi 242 243 244 # APPEND IST NUR BEI TRANSFER EINZELNER DATEIEN OHNE UEBERSCHREIBEN 245 # ERLAUBT. GET IST DABEI EBENFALLS NICHT ERLAUBT 235 printf " +++ option -u is missing \n" 236 locat=remote_user; exit 237 fi 238 239 240 # APPEND IS ONLY ALLOWED FOR TRANSFER OF SINGLE FILES WITHOUT OVERWRITING 241 # IN SUCH A CASE GET IS NOT ALLOWED TOO 246 242 if [[ $append = true && ( $get = true || $catalog_copy = true || $overwrite = true ) ]] 247 243 then … … 251 247 252 248 253 # QUOTE WAIT FUNKTIONIERT NICHT BEIM KOPIEREN GANZER VERZEICHNISSE249 # QUOTE WAIT DOES NOT WORK IF COMPLETE FOLDERS ARE COPIED 254 250 if [[ $quote_wait = true && $catalog_copy = true ]] 255 251 then … … 259 255 260 256 261 # IM CHECK-MODUS WIRD SCRIPT HIER BEENDET257 # SCRIPT WILL BE ENDED HERE IN CASE OF CHECK-MODE 262 258 [[ $check = true ]] && exit 263 259 264 260 265 # BESTIMMTE ZEIT WARTEN, BIS WEITERGEMACHT WIRD (NOETIG Z.B. BEI TRANSFER266 # VON JOBPROTOKOLLEN AUS JOBS HERAUS)261 # WAIT A BIT (MAY BE REQUIRED IN CASE OF TRANSFERS OF JOB PROTOCOLS FROM 262 # WITHIN A JOB) 267 263 sleep $wait 268 264 269 265 270 # S et port number option for calls of ssh/scp, subjob and batch_scp scripts266 # SET PORT NUMBER OPTION FOR CALLS OF SSH/SCP 271 267 if [[ "$scp_port" != "" ]] 272 268 then … … 276 272 277 273 278 # PRUEFEN, OB LOKALE DATEI/LOKALES VERZEICHNIS VORHANDEN BZW. NICHT VORHANDEN274 # CHECK, IF LOCAL FILE/FOLDER EXISTS 279 275 if [[ $get = false ]] 280 276 then … … 308 304 else 309 305 310 # PRUEFEN, OB SICH LOKALE DATEI ANLEGEN LAESST306 # CHECK, IF LOCAL FILE CAN BE CREATED 311 307 local_dirname=`dirname $2` 312 308 if [[ ! -d $local_dirname ]] … … 330 326 331 327 332 # VERZEICHNISLSTE DES ZIELRECHNERS ERSTELLEN328 # CREATE FILE LIST OF THE TARGET HOST FOLDER 333 329 ssh $SSH_PORTOPT $1 -l $remote_user "unset LANG; cd $3; ls -1; echo '*** list complete'" > $filelist 2>&1 334 330 ssh_status=$? … … 350 346 351 347 352 # PRUEFEN, OB VERZEICHNIS VORHANDEN IST. WENN GANZES VERZEICHNISS ZUM 353 # ZIELRECHNER KOPIERT WERDEN SOLL, DARF DORT NOCH KEIN ENTSPRECHENDES 354 # VERZEICHNIS VORHANDEN SEIN 348 # CHECK, IF FOLDER EXISTS. A FOLDER MUST NOT EXIST, IF COMPLETE FOLDERS 349 # SHALL BE COPIED TO THE TARGET HOST 355 350 if [[ $(cat $filelist | grep -c "not found") != 0 || \ 356 351 $(cat $filelist | grep -c "No such file or directory") != 0 ]] … … 375 370 376 371 377 # PRUEFEN, OB DATEI/VERZEICHNIS VORHANDEN, WENN JA, HOECHSTEN ZYKLUS 378 # ERMITTELN (BZW. IM ABSOLUT-MODUS PRUEFEN, OB DATEI VORHANDEN IST) 379 # DAS GANZE ABER NUR, WENN NICHT OVERWRITE-MODUS GEWAEHLT WURDE, DIE 380 # EVENTUELL VORHANDENE DATEI ALSO UEBERSCHRIEBEN WERDEN SOLL 372 # CHECK, IF FILE/FOLDER EXISTS. IF SO, DETERMINE HIGHEST CYCLE NUMBER 373 # (OR CHECK, IN ABSOLUT-MODE, IF FILE EXSITS) 374 # BUT DO THIS IN NON-OVERWRITE-MODE ONLY 381 375 found=false 382 376 if [[ ( $overwrite = false && $get = false ) || $get = true ]] 383 377 then 384 while read zeile378 while read line 385 379 do 386 380 if [[ $absolut = false ]] … … 389 383 if [[ "$5" != "" && "$5" != " " ]] 390 384 then 391 extension=${ zeile##*.}385 extension=${line##*.} 392 386 if [[ $extension = $5 ]] 393 387 then 394 text=${ zeile%.*}388 text=${line%.*} 395 389 else 396 text=${ zeile}390 text=${line} 397 391 fi 398 392 else 399 text=${ zeile}393 text=${line} 400 394 fi 401 395 … … 446 440 else 447 441 448 # IM ABSOLUT-MODUS MUSS NUR GEPRUEFT WERDEN, OB DIE DATEI 449 # VORHANDEN IST 450 [[ $4 = $zeile ]] && found=true 442 # ABSOLUT-MODE ONLY REQUIRES TO CHECK IF FILE EXISTS 443 [[ $4 = $line ]] && found=true 451 444 fi 452 445 … … 523 516 fi 524 517 525 # ABBRUCH, WENN DATEI VON ZIELRECHNER GEHOLT WERDEN SOLL, DORT ABER 526 # NICHT VORHANDEN IST 518 # EXIT, IF FILE SHALL BE GET FROM THE TARGET HOST, BUT DOESN'T EXIST 527 519 if [[ $get = true ]] 528 520 then … … 534 526 535 527 536 # FALLS KATALOG ERZEUGT WIRD, DARF DIE DATEI IN KEINEM FALL EINE537 # ZYKLUSNUMMER BESITZEN, DA SIE JA NOCh GARNICHT EXISTIEREN KANN528 # IF A FOLDER IS CREATED, THE FILENAME MUST NOT CONTAIN A CYCLE NUMBER IN 529 # ANY CASE, SINCE IT CANNOT HAVE ONE 538 530 if [[ $make_catalog = force ]] 539 531 then … … 543 535 544 536 545 # FALLS NAMENSOPTION (-n) GEWAEHLT WURDE, NUR DEN ERMITTELTEN LOKALEN546 # DATEINAMEN DES ZIELRECHNERS AUSGEBEN UND SCRIPT BEENDEN537 # IF NAME-OPTION (-n) IS CHOSEN, ONLY DETERMINE THE LOCAL FILENAME ON THE 538 # TARGET HOST AND EXIT THE SCRIPT 547 539 if [[ $print_local_filename = true ]] 548 540 then … … 553 545 554 546 555 # FALLS 5. ARGUMENT ANGEGEBEN WURDE, WIRD DIES ALS FILE-EXTENSION 556 # HINTER DIE ZYKLUS-NUMMER GEHAENGT (FUNKTIONIERT NUR BEI KOPIEREN EINER 557 # DATEI AUF ZIELRECHNER 547 # IF A 5. ARGUMENT IS GIVEN, IT WILL BE PUT AS FILENAME EXTENSION/APPENDIX 548 # AFTER THE CYCLE NUMBER (ONLY WORKS IN CASE OF FILE COPY TO THE TARGET HOST) 558 549 if [[ "$5" != "" && $get = false ]] 559 550 then … … 562 553 563 554 564 # BEI VERZEICHNISTRANSFER VON ZIELRECHNER AUF LOKALEN RECHNER PRUEFEN, OB565 # $3 AUF ZIELRECHNER WIRKLICH EIN VERZEICHNIS IST555 # IN CASE OF FOLDER TRANSER TO THE TARGET HOST, CHECK IF ARGUMENT $3 REALLY 556 # REFERS TO A FOLDER ON THE TARGET HOST 566 557 if [[ $catalog_copy = true && $get = true ]] 567 558 then … … 584 575 585 576 586 # BEI KATALOGTRANSFER AUF LOKALEN RECHNER ENTSPRECHENDES VERZEICHNIS587 # ANLEGEN577 # IN CASE OF FOLDER TRANSFER FROM THE TARGET HOST TO THE LOCAL HOST, 578 # CREATE THE RESPECTIVE FOLDER ON THE LOCAL HOST 588 579 if [[ $catalog_copy = true ]] 589 580 then … … 599 590 600 591 601 # DATEI/VERZEICHNIS PER SCP UEBERTRAGEN592 # COPY FILE/FOLDER VIA SCP 602 593 if [[ $get = false ]] 603 594 then … … 617 608 if [[ $scp_status != 0 ]] 618 609 then 619 # CHECK, OB DATEIGROESSEN AUF LOKALEM UND REMOTERECHNER 620 # UEBEREINSTIMMEN 610 # CHECK, IF FILE SIZES ON LOCAL HOST AND TARGET HOST MATCH 621 611 local_size=`ls -al $2` 622 612 local_size=`echo $local_size | cut -d" " -f5` … … 640 630 if [[ $? != 0 ]] 641 631 then 642 # CHECK, OB DATEIGROESSEN AUF LOKALEM UND REMOTERECHNER 643 # UEBEREINSTIMMEN 632 # CHECK, OB IF FILE SIZES ON LOCAL HOST AND TARGET HOST MATCH 644 633 local_size=`ls -al $2` 645 634 local_size=`echo $local_size | cut -d" " -f5` … … 724 713 725 714 726 # EVTL. TRANSFERIERTE DATEI AUF LOKALEM RECHNER LOESCHEN715 # DELETE TRANSFERED FILE ON THE LOCAL HOST 727 716 if [[ $delete = true && $get = false ]] 728 717 then … … 732 721 733 722 734 # ABSCHLUSSMELDUNG723 # FINAL MESSAGES 735 724 if [[ $silent = false ]] 736 725 then
Note: See TracChangeset
for help on using the changeset viewer.