meta data for this page
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalonElőző változat | |||
| shell:replikacio:smart_replicator [2019/07/25 17:07] – admin | shell:replikacio:smart_replicator [2026/03/26 09:44] (aktuális) – admin | ||
|---|---|---|---|
| Sor 6: | Sor 6: | ||
| #!/bin/sh | #!/bin/sh | ||
| # # | # # | ||
| - | # TSM Smart Replicator v1.3.1 (2015.05.30) - Ágoston Péter | + | # TSM Smart Replicator v1.4 (2026.03.26) - Ágoston Péter |
| # # | # # | ||
| ################################################################# | ################################################################# | ||
| - | TSMSERVER=tsmserv | + | TSMSERVER=tsm1 |
| - | TSMUSER=tsmadmin | + | TSMUSER=admin |
| - | TSMPASS=jelszo | + | TSMPASS=password |
| - | REPLMAXNUM=4 | + | REPLMAXNUM=4 |
| INFINITERUN=true | INFINITERUN=true | ||
| - | REFRESHRATE=10 #MINUTES | + | REFRESHRATE=10 |
| + | MAXSESSNUM=1 | ||
| + | MAXPROCRUNTIME=5 | ||
| + | MAXPROCRUNTIMEEXCLUDE=' | ||
| LOGFILE=/ | LOGFILE=/ | ||
| REMEMBER_LAST_NODE=true | REMEMBER_LAST_NODE=true | ||
| LAST_NODE_FILE=/ | LAST_NODE_FILE=/ | ||
| + | EXCLUDELOCKED=true | ||
| EXCLUDENODES='' | EXCLUDENODES='' | ||
| + | |||
| + | # ------------- Innen mar neked valoszinuleg nem kell piszkalni semmit, ha csak nem en vagy ---------- | ||
| DSMADMC=" | DSMADMC=" | ||
| + | |||
| + | if [[ $EXCLUDELOCKED = true ]]; then | ||
| + | # SQL_OPTS=" | ||
| + | SQL_OPTS=" | ||
| + | fi | ||
| trap 'echo " | trap 'echo " | ||
| Sor 26: | Sor 37: | ||
| echo " | echo " | ||
| LAST_NODE=$(cat $LAST_NODE_FILE) | LAST_NODE=$(cat $LAST_NODE_FILE) | ||
| + | LAST_NODE_IS_REAL=$($DSMADMC " | ||
| + | if [[ " | ||
| FIRSTRUN=true | FIRSTRUN=true | ||
| CYCLE=1 | CYCLE=1 | ||
| - | ACT_NODE_NUM=0 | ||
| while [ $INFINITERUN = true ] || [ $FIRSTRUN = true ]; do | while [ $INFINITERUN = true ] || [ $FIRSTRUN = true ]; do | ||
| + | ACT_NODE_NUM=0 | ||
| FIRSTRUN=false | FIRSTRUN=false | ||
| STARTTIME=$(date +" | STARTTIME=$(date +" | ||
| STARTTIME=$(($STARTTIME / 60)) | STARTTIME=$(($STARTTIME / 60)) | ||
| echo " | echo " | ||
| - | REPL_NODE_NUM=`$DSMADMC " | + | REPL_NODE_NUM=`$DSMADMC " |
| - | $DSMADMC " | + | $DSMADMC " |
| # Megprobaljuk onnan folytatni, ahol utoljara abbahagytuk a kort | # Megprobaljuk onnan folytatni, ahol utoljara abbahagytuk a kort | ||
| - | if [ " | + | if [ " |
| echo " | echo " | ||
| - | continue; | + | |
| + | | ||
| fi | fi | ||
| - | | + | |
| # Ha nem fut meg a node-ra replikacio, elinditjuk ra | # Ha nem fut meg a node-ra replikacio, elinditjuk ra | ||
| if [ $($DSMADMC " | if [ $($DSMADMC " | ||
| Sor 47: | Sor 61: | ||
| ACTREPLNODES=$($DSMADMC " | ACTREPLNODES=$($DSMADMC " | ||
| echo ${ACTREPLNODES%%, | echo ${ACTREPLNODES%%, | ||
| - | | + | |
| # Varunk, amig lesz replikacios " | # Varunk, amig lesz replikacios " | ||
| while [ $REPLNUM -ge $REPLMAXNUM ]; do | while [ $REPLNUM -ge $REPLMAXNUM ]; do | ||
| echo " | echo " | ||
| sleep $(($REFRESHRATE*60)) | sleep $(($REFRESHRATE*60)) | ||
| - | | + | ONCE=0 |
| + | # Ha egy processz MAXPROCRUNTIME oranal regebb ota fut, kilojuk | ||
| + | $DSMADMC " | ||
| + | if [ $ONCE -eq 0 ]; then echo " | ||
| + | $DSMADMC " | ||
| + | if [ $ONCE -eq 0 ]; then echo " | ||
| + | ONCE=1 | ||
| + | done | ||
| + | | ||
| ACTREPLNODES=$($DSMADMC " | ACTREPLNODES=$($DSMADMC " | ||
| - | | + | |
| done | done | ||
| - | $DSMADMC "repl node $NODE maxsess=3" | tee -a $LOGFILE | + | $DSMADMC "repl node $NODE maxsess=$MAXSESSNUM forcerecon=y" | tee -a $LOGFILE |
| ACT_NODE_NUM=$((ACT_NODE_NUM+1)) | ACT_NODE_NUM=$((ACT_NODE_NUM+1)) | ||
| # Ha mar csak egy slot van, varunk egy percet, hatha nincs mit replikalni, hogy mehessunk tovabb | # Ha mar csak egy slot van, varunk egy percet, hatha nincs mit replikalni, hogy mehessunk tovabb | ||
| - | if [ $(($REPLMAXNUM-$REPLNUM)) -eq 1 ]; then echo " | + | if [ $(($REPLMAXNUM-$REPLNUM)) -eq 1 ]; then echo " |
| else | else | ||
| echo " | echo " | ||
| fi | fi | ||
| - | done | + | |
| ENDTIME=$(date +" | ENDTIME=$(date +" | ||
| ENDTIME=$(($ENDTIME / 60)) | ENDTIME=$(($ENDTIME / 60)) | ||
| Sor 72: | Sor 94: | ||
| sleep $(($REFRESHRATE*60)) | sleep $(($REFRESHRATE*60)) | ||
| CYCLE=$(($CYCLE + 1)) | CYCLE=$(($CYCLE + 1)) | ||
| + | LAST_NODE_IS_REAL=0 | ||
| + | > | ||
| unset LAST_NODE | unset LAST_NODE | ||
| done | done | ||