Changeset 544 for trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh
- Timestamp:
- 12/22/11 16:04:47 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh
r520 r544 62 62 63 63 #===================================================== 64 # Host and user names 64 # Host and user names 65 65 # $hostname ou hostname 66 66 typeset HOST=${HOST:=$( hostname )} … … 111 111 112 112 #==================================================== 113 #- OUT113 #- R_OUT 114 114 typeset -r R_OUT=${ARCHIVE}/IGCM_OUT 115 115 116 116 #==================================================== 117 #- OUT_SCR (ONLY FOR double copy an scratch) 118 typeset -r R_OUT_SCR=${SCRATCHDIR}/IGCM_OUT 117 #- R_BUF (ONLY FOR double copy an scratch) 118 typeset -r R_BUF=${SCRATCHDIR}/IGCM_OUT 119 120 #==================================================== 121 #- BIG_DIR : BIG_DIR to store files waiting for rebuild 122 typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD} 119 123 120 124 #==================================================== … … 125 129 #- RUN_DIR_PATH : Temporary working directory (=> TMP) 126 130 typeset -r RUN_DIR_PATH=${RUN_DIR_PATH:=${CSCRATCHDIR}/TMPDIR_IGCM/${JOBID}} 127 128 #====================================================129 #- BIG_DIR : BIG_DIR to store files waiting for rebuild130 typeset -r BIG_DIR=${BIG_DIR:=${SCRATCHDIR}/REBUILD}131 131 132 132 #==================================================== … … 144 144 #D- 145 145 function IGCM_sys_RshMaster { 146 147 146 IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 147 /bin/ksh <<-EOF 148 148 export libIGCM=${libIGCM} 149 149 export DEBUG_debug=${DEBUG_debug} … … 152 152 ${@} 153 153 EOF 154 155 156 157 158 154 if [ $? -gt 0 ] ; then 155 echo "IGCM_sys_RshMaster : erreur." 156 IGCM_debug_Exit "IGCM_sys_RshMaster" 157 fi 158 IGCM_debug_PopStack "IGCM_sys_RshMaster" 159 159 } 160 160 … … 165 165 #D- 166 166 function IGCM_sys_RshArchive { 167 168 167 IGCM_debug_PushStack "IGCM_sys_RshArchive" $@ 168 /bin/ksh <<-EOF 169 169 ${@} 170 170 EOF 171 172 173 174 175 171 if [ $? -gt 0 ] ; then 172 echo "IGCM_sys_RshArchive : erreur." 173 IGCM_debug_Exit "IGCM_sys_RshArchive" 174 fi 175 IGCM_debug_PopStack "IGCM_sys_RshArchive" 176 176 } 177 177 … … 182 182 #D- 183 183 function IGCM_sys_RshPost { 184 185 186 187 188 189 190 191 192 193 184 IGCM_debug_PushStack "IGCM_sys_RshPost" $@ 185 if ( $DEBUG_sys ) ; then 186 echo "IGCM_sys_RshPost :" $@ 187 fi 188 /bin/ksh ${@} 189 if [ $? -gt 0 ] ; then 190 echo "IGCM_sys_RshPost : erreur." 191 IGCM_debug_Exit "IGCM_sys_RshPost" 192 fi 193 IGCM_debug_PopStack "IGCM_sys_RshPost" 194 194 } 195 195 … … 200 200 #D- 201 201 function IGCM_sys_SendMail { 202 203 204 205 206 207 208 209 210 211 212 202 IGCM_debug_PushStack "IGCM_sys_SendMail" $@ 203 if ( $DEBUG_sys ) ; then 204 echo "IGCM_sys_SendMail :" $@ 205 fi 206 207 if ( ${ExitFlag} ) ; then 208 status=failed 209 else 210 status=completed 211 fi 212 cat << END_MAIL > job_end.mail 213 213 Dear ${LOGIN}, 214 214 … … 220 220 END_MAIL 221 221 222 223 224 225 226 227 228 229 230 231 232 233 234 222 if [ X"${config_UserChoices_MailName}" != X ] ; then 223 mailx -s "${config_UserChoices_JobName} ${status}" ${config_UserChoices_MailName} < job_end.mail 224 elif [ -f ~/.forward ] ; then 225 mailx -s "${config_UserChoices_JobName} ${status}" $( cat ~/.forward ) < job_end.mail 226 else 227 mailx -s "${config_UserChoices_JobName} ${status}" ${LOGIN} < job_end.mail 228 fi 229 230 if [ $? -gt 0 ] ; then 231 echo "IGCM_sys_SendMail : erreur." 232 IGCM_debug_Exit "IGCM_sys_SendMail" 233 fi 234 IGCM_debug_PopStack "IGCM_sys_SendMail" 235 235 } 236 236 … … 241 241 #D- 242 242 function IGCM_sys_Mkdir { 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 243 IGCM_debug_PushStack "IGCM_sys_Mkdir" $@ 244 if ( $DEBUG_sys ) ; then 245 echo "IGCM_sys_Mkdir :" $@ 246 fi 247 if [ ! -d ${1} ]; then 248 \mkdir -p $1 249 if [ $? -gt 0 ] ; then 250 echo "IGCM_sys_Mkdir : erreur." 251 IGCM_debug_Exit "IGCM_sys_Mkdir" 252 fi 253 fi 254 # vérification : 255 if [ ! -d ${1} ] ; then 256 echo "IGCM_sys_Mkdir : erreur." 257 IGCM_debug_Exit "IGCM_sys_Mkdir" 258 fi 259 IGCM_debug_PopStack "IGCM_sys_Mkdir" 260 260 } 261 261 … … 266 266 #D- 267 267 function IGCM_sys_MkdirArchive { 268 269 270 271 272 273 274 275 276 277 278 279 280 268 IGCM_debug_PushStack "IGCM_sys_MkdirArchive" $@ 269 if ( $DEBUG_sys ) ; then 270 echo "IGCM_sys_MkdirArchive :" $@ 271 fi 272 #- creation de repertoire sur le serveur fichier 273 if [ ! -d ${1} ]; then 274 \mkdir -p $1 275 if [ $? -gt 0 ] ; then 276 echo "IGCM_sys_MkdirArchive : erreur." 277 IGCM_debug_Exit "IGCM_sys_MkdirArchive" 278 fi 279 fi 280 IGCM_debug_PopStack "IGCM_sys_MkdirArchive" 281 281 } 282 282 … … 287 287 #D- 288 288 function IGCM_sys_MkdirWork { 289 290 291 292 293 294 295 296 297 298 299 300 301 289 IGCM_debug_PushStack "IGCM_sys_MkdirWork" $@ 290 if ( $DEBUG_sys ) ; then 291 echo "IGCM_sys_MkdirWork :" $@ 292 fi 293 #- creation de repertoire sur le serveur fichier 294 if [ ! -d ${1} ]; then 295 \mkdir -p $1 296 if [ $? -gt 0 ] ; then 297 echo "IGCM_sys_MkdirWork : erreur." 298 IGCM_debug_Exit "IGCM_sys_MkdirWork" 299 fi 300 fi 301 IGCM_debug_PopStack "IGCM_sys_MkdirWork" 302 302 } 303 303 … … 308 308 #D- 309 309 function IGCM_sys_Cd { 310 311 312 313 314 315 316 317 318 319 310 IGCM_debug_PushStack "IGCM_sys_Cd" $@ 311 if ( $DEBUG_sys ) ; then 312 echo "IGCM_sys_Cd :" $@ 313 fi 314 \cd $1 315 if [ $? -gt 0 ] ; then 316 echo "IGCM_sys_Cd : erreur." 317 IGCM_debug_Exit "IGCM_sys_Cd" 318 fi 319 IGCM_debug_PopStack "IGCM_sys_Cd" 320 320 } 321 321 … … 326 326 #D- 327 327 function IGCM_sys_Chmod { 328 329 330 331 332 333 334 335 336 337 338 339 340 341 328 IGCM_debug_PushStack "IGCM_sys_Chmod" -- $@ 329 if ( $DEBUG_sys ) ; then 330 echo "IGCM_sys_Chmod :" $@ 331 fi 332 if [ $DRYRUN -le 1 ]; then 333 \chmod $@ 334 if [ $? -gt 0 ] ; then 335 echo "IGCM_sys_Chmod : erreur." 336 IGCM_debug_Exit "IGCM_sys_Chmod" 337 fi 338 else 339 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 340 fi 341 IGCM_debug_PopStack "IGCM_sys_Chmod" 342 342 } 343 343 … … 348 348 #D- 349 349 function IGCM_sys_FileSize { 350 351 352 353 354 355 356 357 358 359 350 IGCM_debug_PushStack "IGCM_sys_FileSize" $@ 351 352 typeset sizeF 353 set +A sizeF -- $( ls -la ${1} ) 354 if [ $? -gt 0 ] ; then 355 IGCM_debug_Exit "IGCM_sys_FileSize" 356 fi 357 eval ${2}=${sizeF[4]} 358 359 IGCM_debug_PopStack "IGCM_sys_FileSize" 360 360 } 361 361 … … 366 366 #D- 367 367 function IGCM_sys_TestDir { 368 369 370 371 372 373 374 375 376 368 IGCM_debug_PushStack "IGCM_sys_TestDir" $@ 369 if ( $DEBUG_sys ) ; then 370 echo "IGCM_sys_TestDir :" $@ 371 fi 372 typeset ExistFlag 373 ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 374 IGCM_debug_PopStack "IGCM_sys_TestDir" 375 376 return ${ExistFlag} 377 377 } 378 378 … … 383 383 #D- 384 384 function IGCM_sys_TestDirArchive { 385 386 387 388 389 390 391 392 393 385 IGCM_debug_PushStack "IGCM_sys_TestDirArchive" $@ 386 if ( $DEBUG_sys ) ; then 387 echo "IGCM_sys_TestDirArchive :" $@ 388 fi 389 typeset ExistFlag 390 ExistFlag=$( [ -d $1 ] && echo 0 || echo 1 ) 391 IGCM_debug_PopStack "IGCM_sys_TestDirArchive" 392 393 return ${ExistFlag} 394 394 } 395 395 … … 400 400 #D- 401 401 function IGCM_sys_TestFileArchive { 402 IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 403 if ( $DEBUG_sys ) ; then 404 echo "IGCM_sys_TestFileArchive :" $@ 405 fi 406 typeset ExistFlag 407 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 408 IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 409 410 return ${ExistFlag} 402 IGCM_debug_PushStack "IGCM_sys_TestFileArchive" $@ 403 if ( $DEBUG_sys ) ; then 404 echo "IGCM_sys_TestFileArchive :" $@ 405 fi 406 typeset ExistFlag 407 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 408 IGCM_debug_PopStack "IGCM_sys_TestFileArchive" 409 410 return ${ExistFlag} 411 } 412 413 #D-#================================================== 414 #D-function IGCM_sys_TestFileBuffer 415 #D-* Purpose: Test file that must NOT EXISTS on Buffer 416 #D-* Examples: 417 #D- 418 function IGCM_sys_TestFileBuffer { 419 IGCM_debug_PushStack "IGCM_sys_TestFileBuffer" $@ 420 typeset ExistFlag 421 ExistFlag=$( [ -f $1 ] && echo 0 || echo 1 ) 422 IGCM_debug_PopStack "IGCM_sys_TestFileBuffer" 423 424 return ${ExistFlag} 411 425 } 412 426 … … 417 431 #D- 418 432 function IGCM_sys_CountFileArchive { 419 IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 420 ls ${@} 2>/dev/null | wc -l 421 if [ $? -gt 0 ] ; then 422 echo "IGCM_sys_CountFileArchive : erreur." 423 fi 424 IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 433 IGCM_debug_PushStack "IGCM_sys_CountFileArchive" $@ 434 ls ${@} 2>/dev/null | wc -l 435 if [ $? -gt 0 ] ; then 436 echo "IGCM_sys_CountFileArchive : erreur." 437 fi 438 IGCM_debug_PopStack "IGCM_sys_CountFileArchive" 439 } 440 441 #D-#================================================== 442 #D-function IGCM_sys_CountFileBuffer 443 #D-* Purpose: Count files on Scratch filesystem 444 #D-* Examples: 445 #D- 446 function IGCM_sys_CountFileBuffer { 447 IGCM_debug_PushStack "IGCM_sys_CountFileBuffer" $@ 448 ls ${@} 2>/dev/null | wc -l 449 if [ $? -gt 0 ] ; then 450 echo "IGCM_sys_CountFileBuffer : erreur." 451 fi 452 IGCM_debug_PopStack "IGCM_sys_CountFileBuffer" 425 453 } 426 454 … … 431 459 #D- 432 460 function IGCM_sys_Tree { 433 434 435 436 437 438 439 440 461 IGCM_debug_PushStack "IGCM_sys_Tree" $@ 462 if ( $DEBUG_sys ) ; then 463 echo "IGCM_sys_Tree :" $@ 464 fi 465 466 \tree -f $@ 467 468 IGCM_debug_PopStack "IGCM_sys_Tree" 441 469 } 442 470 443 471 #D-#================================================== 444 472 #D-function IGCM_sys_Tar 445 #D-* Purpose: master un-tar command473 #D-* Purpose: master tar command 446 474 #D-* Examples: 447 475 #D- 448 476 function IGCM_sys_Tar { 449 IGCM_debug_PushStack "IGCM_sys_Tar" $@ 450 if ( $DEBUG_sys ) ; then 451 echo "IGCM_sys_Tar :" $@ 452 fi 453 \tar cvf $@ 454 if [ $? -gt 0 ] ; then 455 echo "IGCM_sys_Tar : erreur." 456 IGCM_debug_Exit "IGCM_sys_Tar" 457 fi 458 \tar tvf $1 459 460 IGCM_debug_PopStack "IGCM_sys_Tar" 477 IGCM_debug_PushStack "IGCM_sys_Tar" $@ 478 if ( $DEBUG_sys ) ; then 479 echo "IGCM_sys_Tar :" $@ 480 fi 481 \tar cf $@ 482 if [ $? -gt 0 ] ; then 483 echo "IGCM_sys_Tar : erreur." 484 IGCM_debug_Exit "IGCM_sys_Tar" 485 fi 486 IGCM_debug_PopStack "IGCM_sys_Tar" 461 487 } 462 488 … … 467 493 #D- 468 494 function IGCM_sys_UnTar { 469 470 471 472 473 474 475 476 477 478 495 IGCM_debug_PushStack "IGCM_sys_UnTar" $@ 496 if ( $DEBUG_sys ) ; then 497 echo "IGCM_sys_UnTar :" $@ 498 fi 499 \tar xvf $1 500 if [ $? -gt 0 ] ; then 501 echo "IGCM_sys_UnTar : erreur." 502 IGCM_debug_Exit "IGCM_sys_UnTar" 503 fi 504 IGCM_debug_PopStack "IGCM_sys_UnTar" 479 505 } 480 506 … … 485 511 #D- 486 512 function IGCM_sys_QsubPost { 487 488 489 490 491 492 493 494 495 496 513 IGCM_debug_PushStack "IGCM_sys_QsubPost" $@ 514 if ( $DEBUG_sys ) ; then 515 echo "IGCM_sys_QsubPost :" $@ 516 fi 517 /usr/bin/nqsII/qsub -o ${POST_DIR}/${Script_Post_Output}.out ${libIGCM}/$1.job -v ${listVarEnv} 518 if [ $? -gt 0 ] ; then 519 echo "IGCM_sys_QsubPost : erreur " $@ 520 IGCM_debug_Exit "IGCM_sys_QsubPost" 521 fi 522 IGCM_debug_PopStack "IGCM_sys_QsubPost" 497 523 } 498 524 … … 508 534 #D- Error values and explanations can depend on your system version. 509 535 function IGCM_sys_Rsync_out { 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 } 613 536 RET=$1 537 if [ ! $RET ] ; then 538 echo "rsync error !" 539 fi 540 541 if [ $MYLANG = "fr" ]; then 542 case $RET in 543 0) return ;; 544 1) echo "Erreur de rsync ; RERR_SYNTAX : " 545 echo "Erreur de syntaxe ou d'utilisation." 546 return;; 547 2) echo "Erreur de rsync ; RERR_PROTOCOL : " 548 echo "Incompatibilité de protocole." 549 return;; 550 3) echo "Erreur de rsync ; RERR_FILESELECT 3" 551 echo "Erreurs lors de la sélection des fichiers d'entrée sortie et" 552 echo "répertoires" 553 return;; 554 4) echo "Erreur de rsync ; RERR_UNSUPPORTED" 555 echo "Action demandée non supportée : une tentative de manipulation de" 556 echo "fichiers 64-bits sur une plate-forme qui ne les supporte pas a" 557 echo "été faite ; ou une option qui est supportée par le client mais" 558 echo "pas par le serveur a été spécifiée." 559 return;; 560 10) echo "Erreur de rsync ; RERR_SOCKETIO" 561 echo "Erreur dans le socket d'entrée sortie" 562 return;; 563 11) echo "Erreur de rsync ; RERR_FILEIO" 564 echo "Erreur d'entrée sortie fichier" 565 return;; 566 12) echo "Erreur de rsync ; RERR_STREAMIO" 567 echo "Erreur dans flux de donnée du protocole rsync" 568 return;; 569 13) echo "Erreur de rsync ; RERR_MESSAGEIO" 570 echo "Erreur avec les diagnostics du programme" 571 return;; 572 14) echo "Erreur de rsync ; RERR_IPC" 573 echo "Erreur dans le code IPC" 574 return;; 575 20) echo "Erreur de rsync ; RERR_SIGNAL" 576 echo "SIGUSR1 ou SIGINT reçu" 577 return;; 578 21) echo "Erreur de rsync ; RERR_WAITCHILD" 579 echo "Une erreur retournée par waitpid()" 580 return;; 581 22) echo "Erreur de rsync ; RERR_MALLOC" 582 echo "Erreur lors de l'allocation des tampons de mémoire de coeur" 583 return;; 584 23) echo "" 585 echo "Erreur fichier inexistant" 586 return;; 587 30) echo "Erreur de rsync ; RERR_TIMEOUT" 588 echo "Temps d'attente écoulé dans l'envoi/réception de données" 589 return;; 590 *) echo "Erreur de rsync : code de retour de rsync inconnu :" $RET 591 return;; 592 esac 593 elif [ $MYLANG = "en" ] ; then 594 case $RET in 595 0) return;; 596 1) echo "rsync error : Syntax or usage error " 597 return;; 598 2) echo "rsync error : Protocol incompatibility " 599 return;; 600 3) echo "rsync error : Errors selecting input/output files, dirs" 601 return;; 602 4) echo "rsync error : Requested action not supported: an attempt" 603 echo "was made to manipulate 64-bit files on a platform that cannot support" 604 echo "them; or an option was specified that is supported by the client and" 605 echo "not by the server." 606 return;; 607 5) echo "rsync error : Error starting client-server protocol" 608 return;; 609 10) echo "rsync error : Error in socket I/O " 610 return;; 611 11) echo "rsync error : Error in file I/O " 612 return;; 613 12) echo "rsync error : Error in rsync protocol data stream " 614 return;; 615 13) echo "rsync error : Errors with program diagnostics " 616 return;; 617 14) echo "rsync error : Error in IPC code " 618 return;; 619 20) echo "rsync error : Received SIGUSR1 or SIGINT " 620 return;; 621 21) echo "rsync error : Some error returned by waitpid() " 622 return;; 623 22) echo "rsync error : Error allocating core memory buffers " 624 return;; 625 23) echo "rsync error : Partial transfer due to error" 626 return;; 627 24) echo "rsync error : Partial transfer due to vanished source files" 628 return;; 629 30) echo "rsync error : Timeout in data send/receive " 630 return;; 631 *) echo "rsync error : return code of rsync unknown :" $RET 632 return;; 633 esac 634 else 635 echo "unknown language $MYLANG." 636 return 637 fi 638 } 639 614 640 #D-#================================================== 615 641 #D-function IGCM_sys_Cp … … 618 644 #D- 619 645 function IGCM_sys_Cp { 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 646 IGCM_debug_PushStack "IGCM_sys_Cp" $@ 647 if ( $DEBUG_sys ) ; then 648 echo "IGCM_sys_Cp :" $@ 649 fi 650 651 typeset RET 652 653 echo cp $@ > out_rsync 2>&1 654 \cp $@ >> out_rsync 2>&1 655 RET=$? 656 657 if [ ${RET} -gt 0 ] ; then 658 echo "IGCM_sys_Cp : error." 659 cat out_rsync 660 IGCM_debug_Exit "IGCM_sys_Cp" 661 else 662 \rm out_rsync 663 fi 664 IGCM_debug_PopStack "IGCM_sys_Cp" 639 665 } 640 666 … … 645 671 #D- 646 672 function IGCM_sys_Rm { 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 673 IGCM_debug_PushStack "IGCM_sys_Rm" -- $@ 674 if ( $DEBUG_sys ) ; then 675 echo "IGCM_sys_Rm :" $@ 676 fi 677 678 typeset RET 679 680 echo rm $@ > out_rsync 2>&1 681 \rm $@ >> out_rsync 2>&1 682 RET=$? 683 684 if [ ${RET} -gt 0 ] ; then 685 echo "IGCM_sys_Rm : error." 686 cat out_rsync 687 IGCM_debug_Exit "IGCM_sys_Rm" 688 else 689 \rm out_rsync 690 fi 691 IGCM_debug_PopStack "IGCM_sys_Rm" 666 692 } 667 693 … … 673 699 #D- 674 700 function IGCM_sys_RmRunDir { 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 701 IGCM_debug_PushStack "IGCM_sys_RmRunDir" -- $@ 702 if ( $DEBUG_sys ) ; then 703 echo "IGCM_sys_RmRunDir :" $@ 704 fi 705 706 typeset RET 707 708 echo rm $@ > out_rsync 2>&1 709 \rm $@ >> out_rsync 2>&1 710 RET=$? 711 712 if [ ${RET} -gt 0 ] ; then 713 echo "IGCM_sys_RmRunDir : error." 714 cat out_rsync 715 IGCM_debug_Exit "IGCM_sys_RmRunDir" 716 else 717 \rm out_rsync 718 fi 719 IGCM_debug_PopStack "IGCM_sys_RmRunDir" 694 720 } 695 721 … … 700 726 #D- 701 727 function IGCM_sys_Mv { 702 IGCM_debug_PushStack "IGCM_sys_Mv" $@ 703 if ( $DEBUG_sys ) ; then 704 echo "IGCM_sys_Mv :" $@ 705 fi 706 707 if [ $DRYRUN = 0 ]; then 708 709 typeset RET 710 711 echo mv $@ > out_rsync 2>&1 712 \mv $@ >> out_rsync 2>&1 713 RET=$? 728 IGCM_debug_PushStack "IGCM_sys_Mv" $@ 729 if ( $DEBUG_sys ) ; then 730 echo "IGCM_sys_Mv :" $@ 731 fi 732 733 if [ $DRYRUN = 0 ]; then 734 735 typeset RET 714 736 715 if [ ${RET} -gt 0 ] ; then 716 echo "IGCM_sys_Mv : error in mv." 717 cat out_rsync 718 IGCM_debug_Exit "IGCM_sys_Mv" 719 else 720 \rm out_rsync 721 fi 737 echo mv $@ > out_rsync 2>&1 738 \mv $@ >> out_rsync 2>&1 739 RET=$? 740 741 if [ ${RET} -gt 0 ] ; then 742 echo "IGCM_sys_Mv : error in mv." 743 cat out_rsync 744 IGCM_debug_Exit "IGCM_sys_Mv" 722 745 else 723 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 724 fi 725 726 IGCM_debug_PopStack "IGCM_sys_Mv" 746 \rm out_rsync 747 fi 748 else 749 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 750 fi 751 752 IGCM_debug_PopStack "IGCM_sys_Mv" 727 753 } 728 754 … … 733 759 #D- 734 760 function IGCM_sys_Put_Dir { 735 IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 736 if ( $DEBUG_sys ) ; then 737 echo "IGCM_sys_Put_Dir :" $@ 738 fi 739 if [ $DRYRUN = 0 ]; then 740 if [ ! -d ${1} ] ; then 741 echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 742 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 743 return 744 fi 745 746 typeset RET 747 748 # Only if we use rsync 749 #IGCM_sys_TestDirArchive $( dirname $2 ) 750 # 751 #USUAL WAY 752 \cp -r $1 $2 > out_rsync 2>&1 753 RET=$? 754 755 if [ ${RET} -gt 0 ] ; then 756 echo "IGCM_sys_Put_Dir : error." 757 cat out_rsync 758 IGCM_debug_Exit "IGCM_sys_Put_Dir" 759 else 760 \rm out_rsync 761 fi 761 IGCM_debug_PushStack "IGCM_sys_Put_Dir" $@ 762 if ( $DEBUG_sys ) ; then 763 echo "IGCM_sys_Put_Dir :" $@ 764 fi 765 if [ $DRYRUN = 0 ]; then 766 if [ ! -d ${1} ] ; then 767 echo "WARNING : IGCM_sys_Put_Dir ${1} DOES NOT EXIST ." 768 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 769 return 770 fi 771 772 typeset RET 773 774 # Only if we use rsync 775 #IGCM_sys_TestDirArchive $( dirname $2 ) 776 # 777 #USUAL WAY 778 \cp -r $1 $2 > out_rsync 2>&1 779 RET=$? 780 781 if [ ${RET} -gt 0 ] ; then 782 echo "IGCM_sys_Put_Dir : error." 783 cat out_rsync 784 IGCM_debug_Exit "IGCM_sys_Put_Dir" 762 785 else 763 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 764 fi 765 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 786 \rm out_rsync 787 fi 788 else 789 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 790 fi 791 IGCM_debug_PopStack "IGCM_sys_Put_Dir" 766 792 } 767 793 … … 772 798 #D- 773 799 function IGCM_sys_Get_Dir { 774 775 776 777 778 800 IGCM_debug_PushStack "IGCM_sys_Get_Dir" $@ 801 if ( $DEBUG_sys ) ; then 802 echo "IGCM_sys_Get_Dir :" $@ 803 fi 804 if [ $DRYRUN = 0 ]; then 779 805 # if [ ! -d ${1} ] ; then 780 806 # echo "WARNING : IGCM_sys_Get_Dir ${1} DOES NOT EXIST ." … … 783 809 # fi 784 810 785 typeset RET 786 787 # Only if we use rsync 788 #IGCM_sys_TestDirArchive $( dirname $2 ) 789 # 790 #USUAL WAY 791 # add dmget (to demigrate all offline files) to reduce time of this command : 792 dmget $1/* 793 \cp -r $1 $2 > out_rsync 2>&1 794 RET=$? 795 796 if [ ${RET} -gt 0 ] ; then 797 echo "IGCM_sys_Get_Dir : error." 798 cat out_rsync 799 IGCM_debug_Exit "IGCM_sys_Get_Dir" 800 else 801 \rm out_rsync 802 fi 811 typeset RET 812 813 # Only if we use rsync 814 #IGCM_sys_TestDirArchive $( dirname $2 ) 815 # 816 #USUAL WAY 817 # add dmget (to demigrate all offline files) to reduce time of this command : 818 dmget $1/* 819 \cp -r $1 $2 > out_rsync 2>&1 820 RET=$? 821 822 if [ ${RET} -gt 0 ] ; then 823 echo "IGCM_sys_Get_Dir : error." 824 cat out_rsync 825 IGCM_debug_Exit "IGCM_sys_Get_Dir" 803 826 else 804 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 805 fi 806 IGCM_debug_PopStack "IGCM_sys_Get_Dir" 827 \rm out_rsync 828 fi 829 else 830 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 831 fi 832 IGCM_debug_PopStack "IGCM_sys_Get_Dir" 807 833 } 808 834 … … 813 839 #D- 814 840 function IGCM_sys_Get_Master { 815 IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 816 if ( $DEBUG_sys ) ; then 817 echo "IGCM_sys_Get_Master :" $@ 818 fi 819 if [ $DRYRUN = 0 ]; then 820 if [ ! -d ${1} ] ; then 821 echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 822 IGCM_debug_PopStack "IGCM_sys_Get_Master" 823 return 824 fi 825 826 typeset RET 827 828 #USUAL WAY 829 \cp -r $1 $2 > out_rsync 2>&1 830 RET=$? 831 832 if [ ${RET} -gt 0 ] ; then 833 echo "IGCM_sys_Get_Master : error." 834 cat out_rsync 835 IGCM_debug_Exit "IGCM_sys_Get_Master" 836 else 837 \rm out_rsync 838 fi 841 IGCM_debug_PushStack "IGCM_sys_Get_Master" $@ 842 if ( $DEBUG_sys ) ; then 843 echo "IGCM_sys_Get_Master :" $@ 844 fi 845 if [ $DRYRUN = 0 ]; then 846 if [ ! -d ${1} ] ; then 847 echo "WARNING : IGCM_sys_Get_Master ${1} DOES NOT EXIST ." 848 IGCM_debug_PopStack "IGCM_sys_Get_Master" 849 return 850 fi 851 852 typeset RET 853 854 #USUAL WAY 855 \cp -r $1 $2 > out_rsync 2>&1 856 RET=$? 857 858 if [ ${RET} -gt 0 ] ; then 859 echo "IGCM_sys_Get_Master : error." 860 cat out_rsync 861 IGCM_debug_Exit "IGCM_sys_Get_Master" 839 862 else 840 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 841 fi 842 IGCM_debug_PopStack "IGCM_sys_Get_Master" 863 \rm out_rsync 864 fi 865 else 866 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 867 fi 868 IGCM_debug_PopStack "IGCM_sys_Get_Master" 843 869 } 844 870 845 871 #D-#================================================== 846 872 #D-function IGCM_sys_Put_Rest 847 #D-* Purpose: Put computied restarts on $ (ARCHIVE).873 #D-* Purpose: Put computied restarts on ${ARCHIVE}. 848 874 #D- File and target directory must exist. 849 875 #D-* Examples: 850 876 #D- 851 877 function IGCM_sys_Put_Rest { 852 IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 853 if ( $DEBUG_sys ) ; then 854 echo "IGCM_sys_Put_Rest :" $@ 855 fi 856 if [ $DRYRUN = 0 ]; then 857 if [ ! -f ${1} ] ; then 858 echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 859 IGCM_debug_Exit "IGCM_sys_Put_Rest" 860 fi 861 862 typeset RET 863 # 864 if [ X${JobType} = XRUN ] ; then 865 IGCM_sys_Chmod 444 ${1} 866 fi 867 # 868 IGCM_sys_TestDirArchive $( dirname $2 ) 869 # 870 # USUAL WAY 871 putfer $1 $2 > out_rsync 2>&1 872 RET=$? 878 IGCM_debug_PushStack "IGCM_sys_Put_Rest" $@ 879 if ( $DEBUG_sys ) ; then 880 echo "IGCM_sys_Put_Rest :" $@ 881 fi 882 if [ $DRYRUN = 0 ]; then 883 if [ ! -f ${1} ] ; then 884 echo "ERROR : IGCM_sys_Put_Rest ${1} DOES NOT EXIST ." 885 IGCM_debug_Exit "IGCM_sys_Put_Rest" 886 fi 887 888 typeset RET 889 # 890 if [ X${JobType} = XRUN ] ; then 891 IGCM_sys_Chmod 444 ${1} 892 fi 893 894 # 895 # USUAL WAY 896 \cp $1 $2 > out_rsync 2>&1 897 RET=$? 873 898 874 899 # #RSYNC WITH NETWORK SSH CALL 875 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${ RHOST}:${2} > out_rsync 2>&1876 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${ RHOST}:${2} >> out_rsync 2>&1900 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 901 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 877 902 878 903 # #RSYNC WITH NFS USE … … 886 911 # (( RET=RET+$? )) 887 912 888 if [ ${RET} -gt 0 ] ; then 889 echo "IGCM_sys_Put_Rest : error." 890 cat out_rsync 891 IGCM_debug_Exit "IGCM_sys_Put_Rest" 892 else 893 \rm out_rsync 894 fi 913 if [ ${RET} -gt 0 ] ; then 914 echo "IGCM_sys_Put_Rest : error." 915 cat out_rsync 916 IGCM_debug_Exit "IGCM_sys_Put_Rest" 895 917 else 896 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 897 fi 898 IGCM_debug_PopStack "IGCM_sys_Put_Rest" 918 \rm out_rsync 919 fi 920 else 921 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 922 fi 923 IGCM_debug_PopStack "IGCM_sys_Put_Rest" 924 } 925 926 #D-#================================================== 927 #D-function IGCM_sys_PutBuffer_Rest 928 #D-* Purpose: Put computied restarts on ${SCRATCHDIR}. 929 #D- File and target directory must exist. 930 #D-* Examples: 931 #D- 932 function IGCM_sys_PutBuffer_Rest { 933 IGCM_debug_PushStack "IGCM_sys_PutBuffer_Rest" $@ 934 if ( $DEBUG_sys ) ; then 935 echo "IGCM_sys_PutBuffer_Rest :" $@ 936 fi 937 if [ $DRYRUN = 0 ]; then 938 if [ ! -f ${1} ] ; then 939 echo "ERROR : IGCM_sys_PutBuffer_Rest ${1} DOES NOT EXIST ." 940 IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 941 fi 942 943 typeset RET 944 # 945 if [ X${JobType} = XRUN ] ; then 946 IGCM_sys_Chmod 444 ${1} 947 fi 948 949 # 950 # USUAL WAY 951 \cp $1 $2 > out_rsync 2>&1 952 RET=$? 953 954 if [ ${RET} -gt 0 ] ; then 955 echo "IGCM_sys_PutBuffer_Rest : error." 956 cat out_rsync 957 IGCM_debug_Exit "IGCM_sys_PutBuffer_Rest" 958 else 959 \rm out_rsync 960 fi 961 else 962 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 963 fi 964 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Rest" 899 965 } 900 966 901 967 #D-#================================================== 902 968 #D-function IGCM_sys_Put_Out 903 #D-* Purpose: Copy a file on $ (ARCHIVE) after havechmod it in readonly969 #D-* Purpose: Copy a file on ${ARCHIVE} after having chmod it in readonly 904 970 #D-* Examples: 905 971 #D- 906 972 function IGCM_sys_Put_Out { 907 IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 908 if ( $DEBUG_sys ) ; then 909 echo "IGCM_sys_Put_Out :" $@ 910 fi 911 if [ $DRYRUN = 0 ]; then 912 if [ ! -f ${1} ] ; then 913 echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 914 IGCM_debug_PopStack "IGCM_sys_Put_Out" 915 return 1 916 fi 917 # 918 IGCM_sys_MkdirArchive $( dirname $2 ) 919 # 920 typeset RET exist skip 921 922 #===================================================== 923 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 924 #===================================================== 925 926 #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 927 #if [ $? -eq 0 ] ; then 928 # typeset WORKPATH FILEPATH 929 # WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_OUT_SCR}|" ) 930 # IGCM_sys_MkdirWork ${WORKPATH} 931 # FILEPATH=${WORKPATH}/$( basename $2 ) 932 # # 933 # IGCM_sys_Cp ${1} ${FILEPATH} 934 #fi 935 936 if [ X${JobType} = XRUN ] ; then 937 if [ X${3} = X ] ; then 938 IGCM_sys_Chmod 444 ${1} 939 fi 940 fi 941 942 exist=false 973 IGCM_debug_PushStack "IGCM_sys_Put_Out" $@ 974 if ( $DEBUG_sys ) ; then 975 echo "IGCM_sys_Put_Out :" $@ 976 fi 977 if [ $DRYRUN = 0 ]; then 978 if [ ! -f ${1} ] ; then 979 echo "WARNING : IGCM_sys_Put_Out ${1} DOES NOT EXIST ." 980 IGCM_debug_PopStack "IGCM_sys_Put_Out" 981 return 1 982 fi 983 # 984 IGCM_sys_MkdirArchive $( dirname $2 ) 985 # 986 typeset RET exist skip 987 988 #===================================================== 989 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 990 #===================================================== 991 992 #echo ${2} | grep "${R_OUT}" > /dev/null 2>&1 993 #if [ $? -eq 0 ] ; then 994 # typeset WORKPATH FILEPATH 995 # WORKPATH=$( dirname $2 | sed -e "s|${R_OUT}|${R_BUF}|" ) 996 # IGCM_sys_MkdirWork ${WORKPATH} 997 # FILEPATH=${WORKPATH}/$( basename $2 ) 998 # # 999 # IGCM_sys_Cp ${1} ${FILEPATH} 1000 #fi 1001 1002 if [ X${JobType} = XRUN ] ; then 1003 if [ X${3} = X ] ; then 1004 IGCM_sys_Chmod 444 ${1} 1005 fi 1006 fi 1007 1008 exist=false 1009 skip=false 1010 if [ -f $2 ] ; then 1011 IGCM_debug_Print 1 "$2 already exist" 1012 dmget $2 1013 exist=true 1014 if [ "X$( diff $1 $2 )" = X ] ; then 1015 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 1016 skip=true 1017 else 1018 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 943 1019 skip=false 944 if [ -f $2 ] ; then 945 IGCM_debug_Print 1 "$2 already exist" 946 dmget $2 947 exist=true 948 if [ "X$( diff $1 $2 )" = X ] ; then 949 IGCM_debug_Print 2 "$1 and $2 are the same file, we skip the copy" 950 skip=true 951 else 952 IGCM_debug_Print 2 "$1 and $2 are not the same file, we force the copy" 953 skip=false 954 fi 955 fi 956 # 957 if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 958 IGCM_sys_Chmod u+w $2 959 fi 960 # USUAL WAY 961 if [ X${skip} = Xfalse ] ; then 962 \cp $1 $2 > out_rsync 2>&1 963 RET=$? 964 if [ ${RET} -gt 0 ] ; then 965 echo "IGCM_sys_Put_Out : error." 966 cat out_rsync 967 IGCM_debug_Exit "IGCM_sys_Put_Out" 968 else 969 \rm out_rsync 970 fi 971 fi 972 973 # #RSYNC WITH NETWORK RSH CALL 974 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} > out_rsync 2>&1 975 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${RHOST}:${2} >> out_rsync 2>&1 1020 fi 1021 fi 1022 # 1023 if ( [ X${exist} = Xtrue ] && [ X${skip} = Xfalse ] ) ; then 1024 IGCM_sys_Chmod u+w $2 1025 fi 1026 # USUAL WAY 1027 if [ X${skip} = Xfalse ] ; then 1028 \cp $1 $2 > out_rsync 2>&1 1029 RET=$? 1030 if [ ${RET} -gt 0 ] ; then 1031 echo "IGCM_sys_Put_Out : error." 1032 cat out_rsync 1033 IGCM_debug_Exit "IGCM_sys_Put_Out" 1034 else 1035 \rm out_rsync 1036 fi 1037 fi 1038 1039 # #RSYNC WITH NETWORK SSH CALL 1040 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} > out_rsync 2>&1 1041 # ${RSYNC} ${RSYNC_opt} -e ssh ${RUN_DIR}/$1 ${STOREHOST}:${2} >> out_rsync 2>&1 976 1042 977 1043 # #RSYNC WITH NFS USE … … 985 1051 # (( RET=RET+$? )) 986 1052 1053 else 1054 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1055 fi 1056 IGCM_debug_PopStack "IGCM_sys_Put_Out" 1057 return 0 1058 } 1059 1060 #D-#================================================== 1061 #D-function IGCM_sys_PutBuffer_Out 1062 #D-* Purpose: Copy a file on ${SCRATCHDIR} after having chmod it in readonly 1063 #D-* Examples: 1064 #D- 1065 function IGCM_sys_PutBuffer_Out { 1066 IGCM_debug_PushStack "IGCM_sys_PutBuffer_Out" $@ 1067 if ( $DEBUG_sys ) ; then 1068 echo "IGCM_sys_PutBuffer_Out :" $@ 1069 fi 1070 if [ $DRYRUN = 0 ]; then 1071 if [ ! -f ${1} ] ; then 1072 echo "WARNING : IGCM_sys_PutBuffer_Out ${1} DOES NOT EXIST ." 1073 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 1074 return 1 1075 fi 1076 # 1077 IGCM_sys_Mkdir $( dirname $2 ) 1078 # 1079 typeset RET 1080 1081 if [ X${JobType} = XRUN ] ; then 1082 if [ X${3} = X ] ; then 1083 IGCM_sys_Chmod 444 ${1} 1084 fi 1085 fi 1086 # 1087 # USUAL WAY 1088 \cp $1 $2 > out_rsync 2>&1 1089 RET=$? 1090 1091 if [ ${RET} -gt 0 ] ; then 1092 echo "IGCM_sys_PutBuffer_Out : error." 1093 cat out_rsync 1094 IGCM_debug_Exit "IGCM_sys_PutBuffer_Out" 987 1095 else 988 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 989 fi 990 IGCM_debug_PopStack "IGCM_sys_Put_Out" 991 return 0 1096 \rm out_rsync 1097 fi 1098 else 1099 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1100 fi 1101 IGCM_debug_PopStack "IGCM_sys_PutBuffer_Out" 1102 return 0 992 1103 } 993 1104 … … 998 1109 #D- IGCM_sys_Get /l Array_contain_myfiles /destpath/ 999 1110 function IGCM_sys_Get { 1000 IGCM_debug_PushStack "IGCM_sys_Get" $@ 1001 1002 typeset DEST RET dm_liste ifile target file_work 1003 1004 if ( $DEBUG_sys ) ; then 1005 echo "IGCM_sys_Get :" $@ 1006 fi 1007 if [ $DRYRUN -le 2 ]; then 1008 if [ X${1} = X'/l' ] ; then 1009 # test if the first file is present in the old computation : 1010 eval set +A dm_liste \${${2}} 1011 else 1012 eval set +A dm_liste ${1} 1013 fi 1014 eval DEST=\${${#}} 1015 1016 #===================================================== 1017 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 1018 #===================================================== 1019 1020 # Is it an R_OUT file (not R_IN) ? 1021 #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 1022 #if [ $? -eq 0 ] ; then 1023 # # Yes ? then we try to get it in SCRATCHDIR 1024 # set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_OUT_SCR}|g" ) 1025 # if [ -f ${file_work[0]} ] ; then 1026 # IGCM_sys_Cp ${file_work[*]} ${DEST} 1027 # IGCM_debug_PopStack "IGCM_sys_Get" 1028 # return 1029 # fi 1030 #fi 1031 1032 # test if the (first) file is present in the old computation : 1033 IGCM_sys_TestFileArchive ${dm_liste[0]} 1034 RET=$? 1035 if [ ${RET} -gt 0 ] ; then 1036 echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 1037 IGCM_debug_Exit "IGCM_sys_Get" 1038 fi 1039 1040 dmget ${dm_liste[*]} > out_rsync 2>&1 1041 RET=$? 1042 1043 if [ ${RET} -gt 0 ] ; then 1044 echo "WARNING IGCM_sys_Get : demigration error." 1045 cat out_rsync 1046 echo "WARNING IGCM_sys_Get : will later stop if the cp fails." 1047 fi 1048 1049 #if [ ${RET} -gt 0 ] ; then 1050 # if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 1051 # cat out_rsync 1052 # echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 1053 # sleep 30 1054 # echo "We try another time" 1055 # dmget ${dm_liste[*]} > out_rsync 2>&1 1056 # RET=$? 1057 # if [ ${RET} -gt 0 ] ; then 1058 # echo "ERROR IGCM_sys_Get : again demigration error :" 1059 # cat out_rsync 1060 # IGCM_debug_Exit "IGCM_sys_Get" 1061 # fi 1062 # else 1063 # echo "ERROR IGCM_sys_Get : demigration error :" 1064 # cat out_rsync 1065 # IGCM_debug_Exit "IGCM_sys_Get" 1066 # fi 1067 #fi 1068 1069 #USUAL WAY 1070 (( RET=0 )) 1071 if [ X${1} = X'/l' ] ; then 1072 (( RET=0 )) 1073 for target in ${dm_liste[*]} ; do 1074 local_file=$( basename ${target} ) 1075 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1076 (( RET = RET + $? )) 1077 done 1078 else 1079 \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 1080 RET=$? 1081 fi 1082 1083 # #RSYNC WITH NETWORK RSH CALL 1084 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 1085 # ${RSYNC} ${RSYNC_opt} -e ssh ${RHOST}:"${dm_liste}" ${RHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 1111 IGCM_debug_PushStack "IGCM_sys_Get" $@ 1112 1113 typeset DEST RET dm_liste ifile target file_work 1114 1115 if ( $DEBUG_sys ) ; then 1116 echo "IGCM_sys_Get :" $@ 1117 fi 1118 if [ $DRYRUN -le 2 ]; then 1119 if [ X${1} = X'/l' ] ; then 1120 # test if the first file is present in the old computation : 1121 eval set +A dm_liste \${${2}} 1122 else 1123 eval set +A dm_liste ${1} 1124 fi 1125 eval DEST=\${${#}} 1126 1127 #===================================================== 1128 # COMMENT OUT DOUBLE COPY ON SCRATCHDIR 1129 #===================================================== 1130 1131 # Is it an R_OUT file (not R_IN) ? 1132 #echo ${dm_liste[0]} | grep "${R_OUT}" > /dev/null 2>&1 1133 #if [ $? -eq 0 ] ; then 1134 # # Yes ? then we try to get it in SCRATCHDIR 1135 # set +A file_work $( echo ${dm_liste[*]} | sed -e "s|${R_OUT}|${R_BUF}|g" ) 1136 # if [ -f ${file_work[0]} ] ; then 1137 # IGCM_sys_Cp ${file_work[*]} ${DEST} 1138 # IGCM_debug_PopStack "IGCM_sys_Get" 1139 # return 1140 # fi 1141 #fi 1142 1143 # test if the (first) file is present in the old computation : 1144 IGCM_sys_TestFileArchive ${dm_liste[0]} 1145 RET=$? 1146 if [ ${RET} -gt 0 ] ; then 1147 echo "IGCM_sys_Get, ERROR : regular file ${dm_liste[0]} DOES NOT EXIST ." 1148 IGCM_debug_Exit "IGCM_sys_Get" 1149 fi 1150 1151 dmget ${dm_liste[*]} > out_rsync 2>&1 1152 RET=$? 1153 1154 if [ ${RET} -gt 0 ] ; then 1155 echo "WARNING IGCM_sys_Get : demigration error." 1156 cat out_rsync 1157 echo "WARNING IGCM_sys_Get : will stop later if the cp fails." 1158 fi 1159 1160 #if [ ${RET} -gt 0 ] ; then 1161 # if [ ! "X$( grep "Lost dmusrcmd connection" out_rsync )" = "X" ] ; then 1162 # cat out_rsync 1163 # echo "WARNING IGCM_sys_Get : Lost dmusrcmd connection : " 1164 # sleep 30 1165 # echo "We try another time" 1166 # dmget ${dm_liste[*]} > out_rsync 2>&1 1167 # RET=$? 1168 # if [ ${RET} -gt 0 ] ; then 1169 # echo "ERROR IGCM_sys_Get : again demigration error :" 1170 # cat out_rsync 1171 # IGCM_debug_Exit "IGCM_sys_Get" 1172 # fi 1173 # else 1174 # echo "ERROR IGCM_sys_Get : demigration error :" 1175 # cat out_rsync 1176 # IGCM_debug_Exit "IGCM_sys_Get" 1177 # fi 1178 #fi 1179 1180 #USUAL WAY 1181 if [ X${1} = X'/l' ] ; then 1182 (( RET=0 )) 1183 for target in ${dm_liste[*]} ; do 1184 local_file=$( basename ${target} ) 1185 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1186 (( RET = RET + $? )) 1187 done 1188 else 1189 \cp ${dm_liste} ${DEST} >> out_rsync 2>&1 1190 RET=$? 1191 fi 1192 1193 # #RSYNC WITH NETWORK SSH CALL 1194 # echo ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} > out_rsync 2>&1 1195 # ${RSYNC} ${RSYNC_opt} -e ssh ${STOREHOST}:"${dm_liste}" ${STOREHOST}:${RUN_DIR}/${DEST} >> out_rsync 2>&1 1086 1196 1087 1197 # #RSYNC WITH NFS USE … … 1095 1205 # (( RET=RET+$? )) 1096 1206 1097 if [ ${RET} -gt 0 ] ; then 1098 echo "IGCM_sys_Get : copy error." 1099 cat out_rsync 1100 # IGCM_debug_Exit "IGCM_sys_Get" 1101 else 1102 \rm out_rsync 1103 fi 1207 if [ ${RET} -gt 0 ] ; then 1208 echo "IGCM_sys_Get : copy error." 1209 cat out_rsync 1210 # IGCM_debug_Exit "IGCM_sys_Get" 1104 1211 else 1105 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1106 fi 1107 IGCM_debug_PopStack "IGCM_sys_Get" 1212 \rm out_rsync 1213 fi 1214 else 1215 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1216 fi 1217 IGCM_debug_PopStack "IGCM_sys_Get" 1218 } 1219 1220 #D-#================================================== 1221 #D-function IGCM_sys_GetBuffer 1222 #D-* Purpose: Get a file from ${SCRATCHDIR} 1223 #D-* Examples: IGCM_sys_GetBuffer myfile /destpath/myfile_with_PREFIX 1224 #D- IGCM_sys_GetBuffer /l Array_contain_myfiles /destpath/ 1225 function IGCM_sys_GetBuffer { 1226 IGCM_debug_PushStack "IGCM_sys_GetBuffer" $@ 1227 1228 typeset DEST RET buf_liste ifile target file_work 1229 1230 if ( $DEBUG_sys ) ; then 1231 echo "IGCM_sys_GetBuffer :" $@ 1232 fi 1233 if [ $DRYRUN -le 2 ]; then 1234 if [ X${1} = X'/l' ] ; then 1235 # test if the first file is present in the old computation : 1236 eval set +A buf_liste \${${2}} 1237 else 1238 eval set +A buf_liste ${1} 1239 fi 1240 eval DEST=\${${#}} 1241 1242 #USUAL WAY 1243 if [ X${1} = X'/l' ] ; then 1244 (( RET=0 )) 1245 for target in ${buf_liste[*]} ; do 1246 local_file=$( basename ${target} ) 1247 \cp ${target} ${DEST}/${local_file} >> out_rsync 2>&1 1248 (( RET = RET + $? )) 1249 done 1250 else 1251 \cp ${buf_liste} ${DEST} >> out_rsync 2>&1 1252 RET=$? 1253 fi 1254 1255 if [ ${RET} -gt 0 ] ; then 1256 echo "IGCM_sys_GetBuffer : copy error." 1257 cat out_rsync 1258 IGCM_debug_Exit "IGCM_sys_GetBuffer" 1259 else 1260 \rm out_rsync 1261 fi 1262 else 1263 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1264 fi 1265 IGCM_debug_PopStack "IGCM_sys_GetBuffer" 1266 } 1267 1268 #D-#================================================== 1269 #D-function IGCM_sys_GetDate_FichWork 1270 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 1271 #D-* Examples: 1272 #D- 1273 function IGCM_sys_GetDate_FichWork { 1274 IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 1275 if ( $DEBUG_sys ) ; then 1276 echo "IGCM_sys_GetDate_FichWork :" $@ 1277 fi 1278 # donne la date filesys d'un fichier sur la machine work 1279 IGCM_debug_PopStack "IGCM_sys_FichWork" 1280 } 1281 1282 #D-#================================================== 1283 #D-function IGCM_sys_GetDate_FichArchive 1284 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE 1285 #D-* Examples: 1286 #D- 1287 function IGCM_sys_GetDate_FichArchive { 1288 IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 1289 if ( $DEBUG_sys ) ; then 1290 echo "IGCM_sys_GetDate_FichArchive :" $@ 1291 fi 1292 IGCM_debug_PopStack "IGCM_sys_FichArchive" 1108 1293 } 1109 1294 … … 1114 1299 #D- 1115 1300 function IGCM_sys_Dods_Rm { 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1301 if ( $DEBUG_sys ) ; then 1302 echo "IGCM_sys_Dods_Rm :" $@ 1303 fi 1304 typeset RET 1305 RET=0 1306 if [ $DRYRUN = 0 ]; then 1307 if [ ! -d /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} ] ; then 1308 echo "WARNING : IGCM_sys_Dods_Rm /dmnfs/cont003/dods/public/${LOGIN}/${R_DODS}/${1} DOES NOT EXIST ." 1309 echo "Nothing has been done." 1310 return 1311 fi 1312 dods_rm public/${LOGIN}/${R_DODS}/${1} # > out_dods_rm 2>&1 1313 RET=$? 1314 1130 1315 # if [ ${RET} -gt 0 ] ; then 1131 1316 # echo "IGCM_sys_Dods_Rm : error." … … 1136 1321 # fi 1137 1322 1138 else 1139 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1140 fi 1141 return $RET 1142 } 1143 1323 else 1324 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1325 fi 1326 return $RET 1327 } 1144 1328 1145 1329 #D-#================================================== … … 1149 1333 #D- 1150 1334 function IGCM_sys_Dods_Cp { 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1335 if ( $DEBUG_sys ) ; then 1336 echo "IGCM_sys_Dods_Cp :" $@ 1337 fi 1338 typeset RET 1339 RET=0 1340 if [ $DRYRUN = 0 ]; then 1341 if [ ! -d ${R_SAVE}/${1} ] ; then 1342 echo "WARNING : IGCM_sys_Dods_Cp ${R_SAVE}/${1} DOES NOT EXIST ." 1343 echo "Nothing has been done." 1344 return 1345 fi 1346 # 1347 dods_cp ${1} public/${LOGIN}/${R_DODS} # > out_dods_cp 2>&1 1348 RET=$? 1349 1166 1350 # if [ ${RET} -gt 0 ] ; then 1167 1351 # echo "IGCM_sys_Dods_Cp : error." … … 1172 1356 # fi 1173 1357 1174 1175 1176 1177 1358 else 1359 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1360 fi 1361 return $RET 1178 1362 } 1179 1363 … … 1184 1368 #D- 1185 1369 function IGCM_sys_Put_Dods { 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1370 IGCM_debug_PushStack "IGCM_sys_Put_Dods" $@ 1371 if ( $DEBUG_sys ) ; then 1372 echo "IGCM_sys_Put_Dods :" $@ 1373 fi 1374 if [ $DRYRUN = 0 ]; then 1375 if [ ! -d ${R_SAVE}/${1} ] ; then 1376 echo "WARNING : IGCM_sys_Put_Dods ${R_SAVE}/${1} DOES NOT EXIST ." 1377 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1378 return 1379 fi 1380 1381 typeset RET 1198 1382 # 1199 cd ${R_SAVE} 1200 IGCM_sys_Dods_Rm ${1} 1201 IGCM_sys_Dods_Cp ${1} 1202 RET=0 1203 1204 if [ ${RET} -gt 0 ] ; then 1205 echo "IGCM_sys_Put_Dods : error." 1206 IGCM_debug_Exit "IGCM_sys_Put_Dods" 1207 fi 1208 else 1209 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1210 fi 1211 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1212 } 1213 1214 ############################################################## A FINIR !! 1215 1216 #D-#================================================== 1217 #D-function IGCM_sys_GetDate_FichWork 1218 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem WORK 1219 #D-* Examples: 1220 #D- 1221 function IGCM_sys_GetDate_FichWork { 1222 IGCM_debug_PushStack "IGCM_sys_FichWork" $@ 1223 if ( $DEBUG_sys ) ; then 1224 echo "IGCM_sys_GetDate_FichWork :" $@ 1225 fi 1226 # donne la date filesys d'un fichier sur la machine work 1227 IGCM_debug_PopStack "IGCM_sys_FichWork" 1228 } 1229 1230 #D-#================================================== 1231 #D-function IGCM_sys_GetDate_FichArchive 1232 #D-* Purpose: donne la date filesys d'un fichier sur le filesystem ARCHIVE 1233 #D-* Examples: 1234 #D- 1235 function IGCM_sys_GetDate_FichArchive { 1236 IGCM_debug_PushStack "IGCM_sys_FichArchive" $@ 1237 if ( $DEBUG_sys ) ; then 1238 echo "IGCM_sys_GetDate_FichArchive :" $@ 1239 fi 1240 IGCM_debug_PopStack "IGCM_sys_FichArchive" 1383 cd ${R_SAVE} 1384 IGCM_sys_Dods_Rm ${1} 1385 IGCM_sys_Dods_Cp ${1} 1386 RET=0 1387 1388 if [ ${RET} -gt 0 ] ; then 1389 echo "IGCM_sys_Put_Dods : error." 1390 IGCM_debug_Exit "IGCM_sys_Put_Dods" 1391 fi 1392 else 1393 ( ${DEBUG_debug} ) && echo "DRYRUN mode = " $DRYRUN >> stack 1394 fi 1395 IGCM_debug_PopStack "IGCM_sys_Put_Dods" 1241 1396 } 1242 1397 … … 1245 1400 1246 1401 function IGCM_sys_rebuild { 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1402 IGCM_debug_PushStack "IGCM_sys_rebuild" -- $@ 1403 if ( $DEBUG_sys ) ; then 1404 echo "IGCM_sys_rebuild :" $@ 1405 fi 1406 /home/cont003/p86ipsl/X86_64/bin/rebuild -f -o $@ 1407 if [ $? -gt 0 ] ; then 1408 echo "IGCM_sys_rebuild : erreur ${@}." 1409 IGCM_debug_Exit "rebuild" 1410 fi 1411 1412 IGCM_debug_PopStack "IGCM_sys_rebuild" 1258 1413 } 1259 1414 … … 1262 1417 1263 1418 function IGCM_sys_ncap2 { 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1419 IGCM_debug_PushStack "IGCM_sys_ncap2" -- $@ 1420 if ( $DEBUG_sys ) ; then 1421 echo "IGCM_sys_ncap2 :" $@ 1422 fi 1423 ncap2 "$@" 1424 if [ $? -gt 0 ] ; then 1425 echo "IGCM_sys_ncap2 : erreur ${@}." 1426 IGCM_debug_Exit "ncap2" 1427 fi 1428 1429 IGCM_debug_PopStack "IGCM_sys_ncap2" 1275 1430 } 1276 1431 1277 1432 function IGCM_sys_ncatted { 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1433 IGCM_debug_PushStack "IGCM_sys_ncatted" -- $@ 1434 if ( $DEBUG_sys ) ; then 1435 echo "IGCM_sys_ncatted :" $@ 1436 fi 1437 ncatted "$@" 1438 if [ $? -gt 0 ] ; then 1439 echo "IGCM_sys_ncatted : erreur ${@}." 1440 IGCM_debug_Exit "ncatted" 1441 fi 1442 1443 IGCM_debug_PopStack "IGCM_sys_ncatted" 1289 1444 } 1290 1445 1291 1446 function IGCM_sys_ncbo { 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1447 IGCM_debug_PushStack "IGCM_sys_ncbo" -- $@ 1448 if ( $DEBUG_sys ) ; then 1449 echo "IGCM_sys_ncbo :" $@ 1450 fi 1451 ncbo $@ 1452 if [ $? -gt 0 ] ; then 1453 echo "IGCM_sys_ncbo : erreur ${@}." 1454 IGCM_debug_Exit "ncbo" 1455 fi 1456 1457 IGCM_debug_PopStack "IGCM_sys_ncbo" 1303 1458 } 1304 1459 1305 1460 function IGCM_sys_ncdiff { 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1461 IGCM_debug_PushStack "IGCM_sys_ncdiff" -- $@ 1462 if ( $DEBUG_sys ) ; then 1463 echo "IGCM_sys_ncdiff :" $@ 1464 fi 1465 ncdiff $@ 1466 if [ $? -gt 0 ] ; then 1467 echo "IGCM_sys_ncdiff : erreur ${@}." 1468 IGCM_debug_Exit "ncdiff" 1469 fi 1470 1471 IGCM_debug_PopStack "IGCM_sys_ncdiff" 1317 1472 } 1318 1473 1319 1474 function IGCM_sys_ncea { 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1475 IGCM_debug_PushStack "IGCM_sys_ncea" -- $@ 1476 if ( $DEBUG_sys ) ; then 1477 echo "IGCM_sys_ncea :" $@ 1478 fi 1479 ncea $@ 1480 if [ $? -gt 0 ] ; then 1481 echo "IGCM_sys_ncea : erreur ${@}." 1482 IGCM_debug_Exit "ncea" 1483 fi 1484 1485 IGCM_debug_PopStack "IGCM_sys_ncea" 1331 1486 } 1332 1487 1333 1488 function IGCM_sys_ncecat { 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1489 IGCM_debug_PushStack "IGCM_sys_ncecat" -- $@ 1490 if ( $DEBUG_sys ) ; then 1491 echo "IGCM_sys_ncecat :" $@ 1492 fi 1493 ncecat $@ 1494 if [ $? -gt 0 ] ; then 1495 echo "IGCM_sys_ncecat : erreur ${@}." 1496 IGCM_debug_Exit "ncecat" 1497 fi 1498 1499 IGCM_debug_PopStack "IGCM_sys_ncecat" 1345 1500 } 1346 1501 1347 1502 function IGCM_sys_ncflint { 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1503 IGCM_debug_PushStack "IGCM_sys_ncflint" -- $@ 1504 if ( $DEBUG_sys ) ; then 1505 echo "IGCM_sys_ncflint :" $@ 1506 fi 1507 ncflint $@ 1508 if [ $? -gt 0 ] ; then 1509 echo "IGCM_sys_ncflint : erreur ${@}." 1510 IGCM_debug_Exit "ncflint" 1511 fi 1512 1513 IGCM_debug_PopStack "IGCM_sys_ncflint" 1359 1514 } 1360 1515 1361 1516 function IGCM_sys_ncks { 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1517 IGCM_debug_PushStack "IGCM_sys_ncks" -- $@ 1518 if ( $DEBUG_sys ) ; then 1519 echo "IGCM_sys_ncks :" $@ 1520 fi 1521 ncks $@ 1522 if [ $? -gt 0 ] ; then 1523 echo "IGCM_sys_ncks : erreur ${@}." 1524 IGCM_debug_Exit "ncks" 1525 fi 1526 1527 IGCM_debug_PopStack "IGCM_sys_ncks" 1373 1528 } 1374 1529 1375 1530 function IGCM_sys_ncpdq { 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1531 IGCM_debug_PushStack "IGCM_sys_ncpdq" -- $@ 1532 if ( $DEBUG_sys ) ; then 1533 echo "IGCM_sys_ncpdq :" $@ 1534 fi 1535 ncpdq $@ 1536 if [ $? -gt 0 ] ; then 1537 echo "IGCM_sys_ncpdq : erreur ${@}." 1538 IGCM_debug_Exit "ncpdq" 1539 fi 1540 1541 IGCM_debug_PopStack "IGCM_sys_ncpdq" 1387 1542 } 1388 1543 1389 1544 function IGCM_sys_ncra { 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1545 IGCM_debug_PushStack "IGCM_sys_ncra" -- $@ 1546 if ( $DEBUG_sys ) ; then 1547 echo "IGCM_sys_ncra :" $@ 1548 fi 1549 ncra $@ 1550 if [ $? -gt 0 ] ; then 1551 echo "IGCM_sys_ncra : erreur ${@}." 1552 IGCM_debug_Exit "ncra" 1553 fi 1554 1555 IGCM_debug_PopStack "IGCM_sys_ncra" 1401 1556 } 1402 1557 1403 1558 function IGCM_sys_ncrcat { 1404 1405 1406 1407 1408 1409 1410 1559 IGCM_debug_PushStack "IGCM_sys_ncrcat" -- $@ 1560 if ( $DEBUG_sys ) ; then 1561 echo "IGCM_sys_ncrcat :" $@ 1562 fi 1563 ncrcat $@ 1564 if [ $? -gt 0 ] ; then 1565 echo "IGCM_sys_ncrcat : erreur ${@}." 1411 1566 # IGCM_debug_Exit "ncrcat" 1412 1413 1414 1567 fi 1568 1569 IGCM_debug_PopStack "IGCM_sys_ncrcat" 1415 1570 } 1416 1571 1417 1572 function IGCM_sys_ncrename { 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1573 IGCM_debug_PushStack "IGCM_sys_ncrename" -- $@ 1574 if ( $DEBUG_sys ) ; then 1575 echo "IGCM_sys_ncrename :" $@ 1576 fi 1577 ncrename $@ 1578 if [ $? -gt 0 ] ; then 1579 echo "IGCM_sys_ncrename : erreur ${@}." 1580 IGCM_debug_Exit "ncrename" 1581 fi 1582 1583 IGCM_debug_PopStack "IGCM_sys_ncrename" 1429 1584 } 1430 1585 1431 1586 function IGCM_sys_ncwa { 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1587 IGCM_debug_PushStack "IGCM_sys_ncwa" -- $@ 1588 if ( $DEBUG_sys ) ; then 1589 echo "IGCM_sys_ncwa :" $@ 1590 fi 1591 ncwa $@ 1592 if [ $? -gt 0 ] ; then 1593 echo "IGCM_sys_ncwa : erreur ${@}." 1594 IGCM_debug_Exit "ncwa" 1595 fi 1596 1597 IGCM_debug_PopStack "IGCM_sys_ncwa" 1443 1598 } 1444 1599 … … 1447 1602 1448 1603 function IGCM_sys_cdo { 1449 IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 1450 1451 \cdo $@ 1452 if [ $? -gt 0 ] ; then 1453 echo "IGCM_sys_cdo : erreur ${@}." 1454 IGCM_debug_PopStack "IGCM_sys_cdo" 1455 return 1 1456 else 1457 IGCM_debug_PopStack "IGCM_sys_cdo" 1458 return 0 1459 fi 1460 1604 IGCM_debug_PushStack "IGCM_sys_cdo" -- $@ 1605 if ( $DEBUG_sys ) ; then 1606 echo "IGCM_sys_cdo :" $@ 1607 fi 1608 \cdo $@ 1609 if [ $? -gt 0 ] ; then 1610 echo "IGCM_sys_cdo : erreur ${@}." 1461 1611 IGCM_debug_PopStack "IGCM_sys_cdo" 1612 return 1 1613 else 1614 IGCM_debug_PopStack "IGCM_sys_cdo" 1615 return 0 1616 fi 1617 1618 IGCM_debug_PopStack "IGCM_sys_cdo" 1462 1619 } 1463 1620 … … 1466 1623 1467 1624 function IGCM_sys_activ_variables { 1468 1469 1470 1471 1472 1625 IGCM_debug_PushStack "IGCM_sys_activ_variables" 1626 if ( $DEBUG_sys ) ; then 1627 echo "IGCM_sys_activ_variables" 1628 fi 1629 IGCM_debug_PopStack "IGCM_sys_activ_variables" 1473 1630 } 1474 1631 … … 1477 1634 1478 1635 function IGCM_sys_desactiv_variables { 1479 1480 1481 1482 1483 1636 IGCM_debug_PushStack "IGCM_sys_desactiv_variables" 1637 if ( $DEBUG_sys ) ; then 1638 echo "IGCM_sys_desactiv_variables" 1639 fi 1640 IGCM_debug_PopStack "IGCM_sys_desactiv_variables" 1484 1641 } 1485 1642 … … 1488 1645 1489 1646 function IGCM_sys_build_run_file { 1490 1491 1492 1493 1494 1495 } 1647 IGCM_debug_PushStack "IGCM_sys_build_run_file" 1648 if ( $DEBUG_sys ) ; then 1649 echo "IGCM_sys_build_run_file" 1650 fi 1651 IGCM_debug_PopStack "IGCM_sys_build_run_file" 1652 }
Note: See TracChangeset
for help on using the changeset viewer.