Compare commits

...

14 Commits

Author SHA1 Message Date
e8fdb4dce4 . 2025-11-10 23:43:22 +00:00
0a06ba8fd7 . 2025-11-10 13:24:00 +00:00
db07c6fc9a cleanup files 2025-11-04 16:22:36 +00:00
c312e3db80 . 2025-07-09 21:34:29 +01:00
1a5d2201b6 . 2025-04-25 13:25:36 +01:00
76b5658b5e . 2024-01-21 21:59:30 +00:00
7a0f1be55c . 2023-06-23 21:32:15 +01:00
e39524a704 . 2023-06-23 21:23:26 +01:00
b05f71ad7b . 2023-06-23 20:53:57 +01:00
3febc62d71 . 2023-06-23 19:31:47 +01:00
7265a9b57a . 2023-06-19 18:59:14 +01:00
96fb0e5671 . 2023-03-23 21:19:25 +00:00
9a653e89dc . 2023-03-23 20:52:29 +00:00
b492aa6cf1 . 2023-02-04 20:56:23 +00:00
5 changed files with 431 additions and 10 deletions

9
Notes/gitea.md Normal file
View File

@ -0,0 +1,9 @@
touch README.md
git init
git checkout -b main
git add README.md
git commit -m "first commit"
git remote add origin https://XXXXXX.nopenso.com/YYYYY/ZZZZZ.get
git push -u origin main

View File

@ -231,7 +231,7 @@ esac
#####
KEYSTORE=~/.mykeys
GITKEY=${KEYSTORE}/gitkey
RSYNCKEY=${KEYSTORE}/rsynckey
RSYNCKEY=${KEYSTORE}/rsync
BASTIONKEY=${KEYSTORE}/donkeykey
STATIC=/static
@ -245,7 +245,7 @@ check_lock
#####
# custom code
#####
ZGOLD=/zTools/zGold
ZGOLD=/zz/zGold
ZCONFIG=/zTools/zConfig
ZANSIBLE=/zTools/zAnsible
ZWINDOWSSHARE=/zTools/zWindowsShare

View File

@ -67,21 +67,46 @@ check_keystore () {
fi
}
check_bastionkey () {
if [ ! -f ${BASTIONKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${BASTIONKEY} -N "" -C bastion@${NAME}
cp -p ${BASTIONKEY}.pub ${KEYSTORE}/_b${NAME}.pub
cp -p ${BASTIONKEY}.pub ${KEYSTORE}/_d${NAME}.pub
fi
}
check_gitkey () {
if [ ! -f ${GITKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${GITKEY} -N "" -C git@${MYNAME}
ssh-keygen -o -a 100 -t ed25519 -f ${GITKEY} -N "" -C git@${NAME}
fi
}
check_rsynckey () {
if [ ! -f ${RSYNCKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${RSYNCKEY} -N "" -C rsync@${MYNAME}
cp -p ${RSYNCKEY}.pub ${KEYSTORE}/_r${MYNAME}.pub
ssh-keygen -o -a 100 -t ed25519 -f ${RSYNCKEY} -N "" -C rsync@${NAME}
cp -p ${RSYNCKEY}.pub ${KEYSTORE}/_r${NAME}.pub
fi
}
check_vibblerkey () {
if [ ! -f ${VIBBLERKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${VIBBLERKEY} -N "" -C vibbler@${NAME}
cp -p ${VIBBLERKEY}.pub ${KEYSTORE}/_v${NAME}.pub
fi
}
check_key () {
if [ ! -f ${KEYSTORE}/${KEYNAME} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${KEYSTORE}/${KEYNAME} -N "" -C ${KEYNAME}@${MACHINENAME}
fi
cp -p ${KEYSTORE}/${KEYNAME}.pub ${KEYSTORE}/${KEYNAME_SHORT}${MACHINENAME}.pub
}
##
##
##
@ -242,17 +267,30 @@ RSYNCKEY=${KEYSTORE}/rsync
BASTIONKEY=${KEYSTORE}/bastion
STATIC=/static
set_constants
check_rsync
NAME=$(uname -n|cut -c2-4)
LAST=$(uname -n| sed -e 's/.*\(.$\)/\1/')
NAME=$(uname -n)
LAST=$(uname -n)
check_keystore
check_gitkey
check_rsynckey
check_lock
KEYNAME=rsync
KEYNAME_SHORT=${PREFIX}$(echo $KEYNAME|cut -c1-2)${ID}
check_key
#####
# custom code
#####
ZGOLD=/zTools/zGold
ZGOLD=/zz/zGold
ZCONFIG=/zTools/zConfig
ZANSIBLE=/zTools/zAnsible
ZWINDOWSSHARE=/zTools/zWindowsShare
@ -309,7 +347,7 @@ case $1 in
mkdir -p ${ZSHARED}
fi
;;
*)
myconfig)
RSYNCSOURCE="myconfig"
RSYNCDEST=${ZCONFIG}
if [ ! -d ${ZCONFIG} ]
@ -317,6 +355,14 @@ case $1 in
mkdir -p ${ZCONFIG}
fi
;;
*)
RSYNCSOURCE="public"
RSYNCDEST=${ZGOLD}
if [ ! -d ${ZGOLD} ]
then
mkdir -p ${ZGOLD}
fi
;;
esac
if [ -s /root/.cpullenv ]

366
bin/cPull2.old Executable file
View File

@ -0,0 +1,366 @@
#!/bin/sh
#
# Common environment variables
#
set_constants () {
MYNAME=`uname -n`
DATENOW=`date '+%Y%m%d-%H%M%S'`
BASE=
ZCBIN=${BASE}/zTools/zConfig/bin
ZCDOT=${BASE}/zTools/zConfig/dotfiles
ZCETC=${BASE}/zTools/zConfig/etc
ZCGNOME=${BASE}/zTools/zConfig/gnome
ZCKICK=${BASE}/zTools/zConfig/kick
ZCSYN=${BASE}/zTools/zConfig/syn
ZCAPPDIR=${BASE}/zTools/zGold/Apps/LinuxApps
ZPCETC=${BASE}/zTools/zPrivateConfig/etc
ZDOCKER=${BASE}/zTools/zDocker
APPDIR=${BASE}/zTools/zGold/Apps/LinuxApps
THIS_SCRIPT=`basename $0`
THIS_PATH=`dirname $0`
LOCK=/var/tmp/${THIS_SCRIPT}.lock
LOG=/var/tmp/${THIS_SCRIPT}.log
ERROR=/var/tmp/${THIS_SCRIPT}.error.$$
APP=${THIS_SCRIPT}
VERSION=
}
################### shared functions below
myip () {
MYEXTERNALIP=$(dig +short myip.opendns.com @resolver1.opendns.com)
MYFULLIP=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')
MYNETWORK=$(echo ${MYFULLIP}| cut -f1-3 -d.)
MYIP=$(echo ${MYFULLIP}| cut -f4 -d.)
echo "MYEXTERNALIP ${MYEXTERNALIP}"
echo "MYFULLIP ${MYFULLIP}"
echo "MYIP ${MYIP}"
echo -e "MYNETWORK ${MYNETWORK}\n"
export MYFULLIP MYNETWORK MYIP MYEXTERNALIP
}
check_rsync () {
if [ -f /bin/rsync ]
then
RSYNC=/bin/rsync
fi
if [ -f /usr/bin/rsync ]
then
RSYNC=/usr/bin/rsync
else
echo "No rsync present"
exit 1
fi
}
check_keystore () {
if [ ! -d ${KEYSTORE} ]
then
mkdir -p ${KEYSTORE}
fi
}
check_gitkey () {
if [ ! -f ${GITKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${GITKEY} -N "" -C git@${MYNAME}
fi
}
check_rsynckey () {
if [ ! -f ${RSYNCKEY} ]
then
ssh-keygen -o -a 100 -t ed25519 -f ${RSYNCKEY} -N "" -C rsync@${MYNAME}
cp -p ${RSYNCKEY}.pub ${KEYSTORE}/_r${MYNAME}.pub
fi
}
##
##
##
##
##
##
check_lock () {
echo -e "\n\n--------SCRIPT $0 starting"
FAILUREVALUE=600
DATENOW=$(date +'%s')
DATEFAILED=$((${DATENOW} - ${FAILUREVALUE}))
if [ -f $LOCK ]
then
. $LOCK
# if script has no date for some reason then use DATEFAILED and reset eveyrthing
SCRIPTDATE="${SCRIPTDATE:-$DATEFAILED}"
EXPIRED=$(($DATENOW - $SCRIPTDATE))
echo " EXPIRED: $EXPIRED SCRIPTDATE:$SCRIPTDATE DATENOW: $DATENOW DATEFAILED:$DATEFAILED"
if [ $EXPIRED -gt ${FAILUREVALUE} ]
then
rm -f $LOCK ; rm -f $LOCK
echo "Cleared ${LOCK} for ${MYNAME} "
killall ${THIS_SCRIPT}; killall ${THIS_SCRIPT}; killall ${THIS_SCRIPT}; killall ${THIS_SCRIPT}; killall ${THIS_SCRIPT}; killall ${THIS_SCRIPT};
exit 1
else
echo "still ${THIS_SCRIPT} running on ${MYNAME} "
echo "The lock file is ${LOCK}"
exit 1
fi
else
echo "SCRIPTDATE=`date +'%s'`" > ${LOCK}
fi
}
rsync_pull_without_key () {
echo "PORT to be used ${PORT}"
case ${MYNAME} in
FIRE6666| KHS666| FIRE660 | FIRE661 | FIRE662 | FIRE663)
${RSYNC} -aq --progress --port=${PORT} --contimeout=2 --delete-after --delete-excluded \
--exclude="@*" \
--exclude=".stversions" \
--exclude="*AppImage*" \
--exclude="*appimage*" \
--exclude="CCTV*" \
--exclude="*Citrix*" \
--exclude="*WinApps*" \
--exclude="*wordpress*" \
--exclude="*GOLDVirtuals*" \
$SOURCE::${RSYNCSOURCE} ${RSYNCDEST}
;;
*)
${RSYNC} -aq --progress --port=${PORT} --contimeout=2 --delete-after --delete-excluded \
--exclude="@*" \
--exclude=".stversions" \
--exclude="CCTV*" \
--exclude="*Citrix*" \
--exclude="*WinApps*" \
--exclude="*wordpress*" \
$SOURCE::${RSYNCSOURCE} ${RSYNCDEST}
;;
esac
if [ $? = 0 ]
then
echo "rsync was success"
chmod 4755 ${ZCBIN}/.specialOn
chmod 4755 ${ZCBIN}/.specialOff
rm -rf /root/.sshkeys
fix_cron
rm ${LOCK}
break 2
fi
}
rsync_pull_with_key () {
echo "RARGS to be used ${RARGS} and port ${PORT}"
case ${MYNAME} in
FIRE6666| KHS666| FIRE660 | FIRE661 | FIRE662 | FIRE663)
${RSYNC} -aq --progress -e "$RARGS" --port=${PORT} --delete-after --delete-excluded \
--exclude="@*" \
--exclude=".stversions" \
--exclude="*AppImage*" \
--exclude="*appimage*" \
--exclude="CCTV*" \
--exclude="*Citrix*" \
--exclude="*WinApps*" \
--exclude="*wordpress*" \
--exclude="*GOLDVirtuals*" \
$SOURCE::${RSYNCSOURCE} ${RSYNCDEST}
;;
*)
${RSYNC} ${RSYNC_OPTS} -e "$RARGS" --port=${PORT} \
--exclude="@*" \
--exclude=".stversions" \
--exclude="CCTV*" \
--exclude="*Citrix*" \
--exclude="*WinApps*" \
--exclude="*wordpress*" \
$SOURCE::${RSYNCSOURCE} ${RSYNCDEST}
;;
esac
if [ $? = 0 ]
then
echo "rsync was success"
chmod 4755 ${ZCBIN}/.specialOn
chmod 4755 ${ZCBIN}/.specialOff
rm -rf /root/.sshkeys
fix_cron
rm ${LOCK}
break 2
fi
}
fix_cron () {
chmod -R 755 ${RSYNCDEST}
chown -R root:root ${RSYNCDEST}
if [ -f /etc/os-release ]
then
. /etc/os-release
fi
case ${ID} in
alpine | debian | ubuntu)
echo "OS found is ${ID}"
if [ -s ${ZPCETC}/crontabs/DEBcrontab ]
then
su root -c "crontab -u root ${ZPCETC}/crontabs/DEBcrontab"
fi
;;
centos | fedora)
echo "OS found is ${ID}"
if [ -s ${ZPCETC}/crontabs/GOLDcrontab ]
then
su root -c "crontab -u root ${ZPCETC}/crontabs/GOLDcrontab"
fi
;;
*)
echo "OS NOT RECOGNISED"
;;
esac
}
######
# Main script below
#####
KEYSTORE=~/.mykeys
GITKEY=${KEYSTORE}/github
RSYNCKEY=${KEYSTORE}/rsync
BASTIONKEY=${KEYSTORE}/bastion
STATIC=/static
set_constants
check_rsync
check_keystore
check_gitkey
check_rsynckey
check_lock
#####
# custom code
#####
ZGOLD=/zTools/zGold
ZCONFIG=/zTools/zConfig
ZANSIBLE=/zTools/zAnsible
ZWINDOWSSHARE=/zTools/zWindowsShare
ZUSERCONFIG=/zTools/zUserConfig
ZPRIVATECONFIG=/zTools/zPrivateConfig
ZSHARED=/zTools/zShared
case $1 in
gold)
RSYNCSOURCE="public"
RSYNCDEST=${ZGOLD}
if [ ! -d ${ZGOLD} ]
then
mkdir -p ${ZGOLD}
fi
;;
windows)
RSYNCSOURCE="mywindowsshare"
RSYNCDEST=${ZWINDOWSSHARE}
if [ ! -d ${ZWINDOWSSHARE} ]
then
mkdir -p ${ZWINDOWSSHARE}
fi
;;
ansible)
RSYNCSOURCE="myansible"
RSYNCDEST=${ZANSIBLE}
if [ ! -d ${ZANSIBLE} ]
then
mkdir -p ${ZANSIBLE}
fi
;;
userconfig)
RSYNCSOURCE="myuserconfig"
RSYNCDEST=${ZUSERCONFIG}
if [ ! -d ${ZUSERCONFIG} ]
then
mkdir -p ${ZUSERCONFIG}
fi
;;
privateconfig)
RSYNCSOURCE="myprivateconfig"
RSYNCDEST=${ZPRIVATECONFIG}
if [ ! -d ${ZPRIVATECONFIG} ]
then
mkdir -p ${ZPRIVATECONFIG}
fi
;;
zshared)
RSYNCSOURCE="myzshared"
RSYNCDEST=${ZSHARED}
if [ ! -d ${ZSHARED} ]
then
mkdir -p ${ZSHARED}
fi
;;
myconfig)
RSYNCSOURCE="myconfig"
RSYNCDEST=${ZCONFIG}
if [ ! -d ${ZCONFIG} ]
then
mkdir -p ${ZCONFIG}
fi
;;
*)
RSYNCSOURCE="public"
RSYNCDEST=${ZGOLD}
if [ ! -d ${ZGOLD} ]
then
mkdir -p ${ZGOLD}
fi
;;
esac
if [ -s /root/.cpullenv ]
then
. /root/.cpullenv
else
echo "UPDATE the file /root/.cpullenv"
echo "DESTINATIONS="xxxxxxxxxxxxx yyyy"" > /root/.cpullenv
echo "RSYNC_PORT=" >> /root/.cpullenv
echo "SSH_PORT=" >> /root/.cpullenv
echo "SSH_USER" >> /root/.cpullenv
exit 1
fi
cd ${RSYNCDEST}
for i in $DESTINATIONS
do
echo "\n\n------------------------ Trying $i"
SOURCE=$i
USER=${SSH_USER}
# PORT=${RSYNC_PORT}
# RSYNC_OPTS="-aqP --progress --delete-after --delete-excluded --contimeout=2"
# echo "\n*********** Trying ${i} withOUT key on ${PORT} and ${USER} for ${RSYNCDEST} ******"
# rsync_pull_without_key
PORT=${SSH_PORT}
RARGS="ssh -i ${RSYNCKEY} -p${PORT} -l ${USER} -o ConnectTimeout=5 -o CheckHostIP=no -o StrictHostKeyChecking=no"
RSYNC_OPTS="-aqP --progress --delete-after --delete-excluded"
echo "\n*********** Trying ${i} with key on ${PORT} and ${USER} for ${RSYNCDEST} ******"
rsync_pull_with_key
done
#####
rm ${LOCK}
exit 0

0
c
View File