dopetalk does not endorse any advertised product nor does it accept any liability for it's use or misuse


Our Discord Notification Server invitation link is https://discord.gg/jB2qmRrxyD

Author Topic: Clone  (Read 12 times)

Online Chip (OP)

  • Server Admin
  • Hero Member
  • *****
  • Administrator
  • *****
  • Join Date: Dec 2014
  • Location: Australia
  • Posts: 7323
  • Reputation Power: 0
  • Chip has hidden their reputation power
  • Gender: Male
  • Last Login:Today at 04:42:40 AM
  • Deeply Confused Learner
  • Profession: IT Engineer now retired
Clone
« on: Today at 01:34:17 AM »
Perform the follewing:

A. Configure Clone VM:

B. D/L https://vault.centos.org/6.10/isos/x86_64/CentOS-6.10-x86_64-minimal.iso

C., Add an new VM: Install OS later > "CentOS 6 64-bit", 2 CPUs, 2GB RAM, I/O ctl=SCSI, Choose a single (unsplit) extent (contiguous) of 32 GB disk space and then save to E:\VMware\VMs\

D. Change via Settings (start VMware with the Administrator option): Change CD/DVD - see "Advanced" and set to "IDE" then go back and finally point to the ISO you downladed in A.

e. Boot into that install/upgrade, skip the ISO checking and u r off !

Issues:

1. Replace /etc/yum/repos.d/CentOS-Base.repo with:

Code: [Select]
[C6.10-base]
name=CentOS-6.10 - Base
baseurl=http://vault.centos.org/6.10/os/$basearch/
#baseurl=http://centos.org
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-updates]
name=CentOS-6.10 - Updates
baseurl=http://vault.centos.org/6.10/updates/$basearch/
#baseurl=http://centos.org
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-extras]
name=CentOS-6.10 - Extras
baseurl=http://vault.centos.org/6.10/extras/$basearch/
#baseurl=http://centos.org
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-contrib]
name=CentOS-6.10 - Contrib
baseurl=http://vault.centos.org/6.10/contrib/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never

[C6.10-centosplus]
name=CentOS-6.10 - CentOSPlus
baseurl=http://vault.centos.org/6.10/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never

2. Replace ~/.bashrc with:

Code: [Select]
# .bashrc

#export ENV_TAG=Live
#export ENV_TAG=Dev
 export ENV_TAG=Clone

# ---------------------------------------------------------
# STYLES
#  0  Reset all
#  1  Bold / bright
#  2  Dim
#  3  Italic
#  4  Underline
#  5  Blink
#  7  Reverse (swap fg/bg)
#  8  Hidden
#  9  Strikethrough
#
# FOREGROUND COLORS              BACKGROUND COLORS
#  30  Black    (90 bright)       40  Black    (100 bright)
#  31  Red      (91 bright)       41  Red      (101 bright)
#  32  Green    (92 bright)       42  Green    (102 bright)
#  33  Yellow   (93 bright)       43  Yellow   (103 bright)
#  34  Blue     (94 bright)       44  Blue     (104 bright)
#  35  Magenta  (95 bright)       45  Magenta  (105 bright)
#  36  Cyan     (96 bright)       46  Cyan     (106 bright)
#  37  White    (97 bright)       47  White    (107 bright)
#  39  Default                    49  Default
#
# EXTENDED (if terminal supports)
#  256-color:   \e[38;5;<0-255>m (fg)   \e[48;5;<0-255>m (bg)
#  Truecolor:   \e[38;2;<r>;<g>;<b>m (fg)   \e[48;2;<r>;<g>;<b>m (bg)
# ---------------------------------------------------------

# PS1 order is BG-colour/ENV_TAG-colour||user@host||":"||pwd|||"#"
if [ "$ENV_TAG" = "Live" ]; then

# PS1='\[\e[41;1;37m\] Live \[\e[0m\] \[\e[32m\]\u@\h\[\e[0m\]:\[\e[36m\]\w\[\e[0m\]\$ '
# Red background, white text, green user@:host, cyan working directory
  PS1='\[\e[41;1;37m\] Live \[\e[0m\] \[\e[32m\]\u@\h\[\e[0m\]:\[\e[36m\]\w\[\e[0m\]'
elif [ "$ENV_TAG" = "Dev" ]; then
# Magenta background, white text, white host@:user, cyan working directory
  PS1='\[\e[45;1;37m\] Dev \[\e[0m\] \[\e[37m\]\u@\h\[\e[0m\]:\[\e[36m\]\w\[\e[0m\]'
elif [ "$ENV_TAG" = "Clone" ]; then
# Blue background, white text, magenta host@:user, cyan working directory
  PS1='\[\e[44;1;37m\] Clone \[\e[0m\] \[\e[32m\]\u@\h\[\e[0m\]:\[\e[35m\]\t\[\e[36m\]\w\[\e[0m\] '
else
  PS1='Unrecognied ENV_TAG '
fi

export PYTHONDONTWRITEBYTECODE=1
export NCURSES_NO_UTF8_ACS=1

# User specific aliases and functions

#if [ "$ENV_TAG" = "Live" ]; then
# alias poweroff='echo NO WAY'
# alias reboot='echo NO WAY'
#else
##alias poweroff='echo NO WAY'
##alias reboot='echo NO WAY'
#fi

alias rm='rm -i'
alias cp='cp -bi'
alias mv='mv -i'

alias ee='nano'
alias lt='ls -alt'
alias lr='ls -altr'
alias ll='ls -al'
alias lS='ls -Sal'
alias cls='clear'
alias tuneweb='nano /etc/httpd/conf/httpd.conf'

alias px='ps auxfw'
alias netn='grc netstat -puatn'
alias nets='grc netstat -puat'

alias repo='cd /etc/yum.repos.d'
alias private='nano /var/www/html/private/index.html'

alias grep='grep --color=always'

alias sizes='du -Sh | sort -rh | head -25'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# log every command typed because i'm gettin' old !
if [ -n "${BASH_VERSION}" ]; then
    trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
 \$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi

alias log='cd /var/log'
alias sou='source ~/.bashrc'
alias brc='nano ~/.bashrc'

pushd()
{
  if [ $# -eq 0 ]; then
    DIR="${HOME}"
  else
    DIR="$1"
  fi

  builtin pushd "${DIR}" > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

pushd_builtin()
{
  builtin pushd > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

popd()
{
  builtin popd > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

alias fid='find . -type d -ls'
alias fnd='find . -name'
alias lsf="ls -l | egrep -v '^d'"
#alias lsd="ls -l | egrep '^d'"
alias lsd="ls -dl */."


alias tips='cd /tips'
alias py='python'
alias py3='python3'

alias aws='nano /etc/awstats/awstats.forum.drugs-and-users.org.conf'
alias awsupd='/usr/bin/perl /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=forum.drugs-and-users.org -update'
alias sslerr='less /var/log/httpd/ssl_error_log'

alias push='git push origin master'

alias ep='nano /etc/postfix/main.cf'

alias mirror='sh /bin/mirror.sh'
alias mirrorts='sh /bin/mirror-ts.sh'
alias motd='nano /etc/motd'

export PATH="$HOME/.pyenv/bin:$PATH"

#if [ "$ENV_TAG" = "Live" ]; then
# eval "$(pyenv init -)"
# eval "$(pyenv virtualenv-init -)"
#else
##eval "$(pyenv init -)"
##eval "$(pyenv virtualenv-init -)"
#fi

alias priv='nano /var/www/html/private/index.html'
alias cdpriv='cd /var/www/html/private'

alias html='cd /var/www/html'
alias html20='cd /var/www/html/smf20'
alias html21='cd /var/www/html/smf21'

alias pak='cd /var/www/html/Packages'
alias src='cd /var/www/html/Sources'
alias the='cd /var/www/html/Themes/default'

alias pak20='cd /var/www/html/smf20/Packages'
alias src20='cd /var/www/html/smf20/Sources'
alias the20='cd /var/www/html/smf20/Themes/default'

alias pak21='cd /var/www/html/smf21/Packages'
alias src21='cd /var/www/html/smf21/Sources'
alias the21='cd /var/www/html/smf21/Themes/default'

alias ise='cd /var/www/html/The_ISE_Project'
alias isd='cd /var/www/html/ISE_Data'

alias ise20='cd /var/www/html/smf20/The_ISE_Project'
alias isd20='cd /var/www/html/smf20/ISE_Data'

alias maint='nano /var/www/html/Settings.php'
alias maint20='nano /var/www/html/smf20/Settings.php'
alias maint21='nano /var/www/html/smf21/Settings.php'

alias syslog='less /var/log/messages'
alias profile='nano ~/.bash_profile'

alias py='python3'
alias py3='python3'

alias rmback='rm -f *~'

alias colourify='/usr/local/bin/grc -es'

alias chownhtml='chown -R apache:apache /var/www/html'

alias pdf='cd /var/www/html/pdfjs'
alias pdfb='cd /var/www/html/pdfjs/backup'
alias pdf20='cd /var/www/html/smf20/pdfjs'
alias pdf21='cd /var/www/html/smf21/pdfjs'

alias bin='cd /bin'


3. Replace ~./nanorc with:

Code: [Select]
## Here is an example for Bourne shell scripts.
##

syntax "sh" "\.sh$"
icolor brightgreen "^[0-9A-Z_]+\(\)"
color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"
color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color green "-[Ldefgruwx]\>"
color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?"
color cyan "(^|[[:space:]])#.*$"
color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
color ,green "[[:space:]]+$"

#include "/usr/share/nano/sh.nanorc"
include "/usr/share/nano/c.nanorc"
include "/usr/share/nano/perl.nanorc"
#include "/usr/share/nano/cpp.nanorc"


NB: This happens when a script gets edited/saved on Windows (Notepad, or copy-pasted through certain Windows terminals) then scp'ed to Linux and run as-is on Linux. Fix it on Clone directly:

Code: [Select]
sed -i 's/\r$//' clone1.sh
The clone job:

Code: [Select]
#!/bin/bash

set -e

LIVE_IP="128.199.200.202"   # direct IP — hostname resolution unreliable, see tonight's DNS/hosts issues
BACKUP_DIR="/root"

echo "[1/4] Dumping all databases on Live (run over SSH, output stays on Live)..."
echo ssh root@"$LIVE_IP" "mysqldump --all-databases --single-transaction --quick > $BACKUP_DIR/live_full_backup_\$(date +%F).sql"

echo "[2/4] Pulling the SQL dump from Live to this box..."
echo scp root@"$LIVE_IP":"$BACKUP_DIR"/live_full_backup_*.sql "$BACKUP_DIR"/

echo "[3/4] Pulling filesystem from Live (attachments excluded wholesale, added back next step)..."
rsync -zpaAPv --numeric-ids --progress -e ssh \
  --exclude="/dev/*" \
  --exclude="/proc/*" \
  --exclude="/boot/*" \
  --exclude="/sys/*" \
  --exclude="/tmp/*" \
  --exclude="/run/*" \
  --exclude="/mnt/*" \
  --exclude="/media/*" \
  --exclude="/lost+found" \
  --exclude="/swapfile" \
  --exclude="/var/lib/mysql/*" \
  --exclude="/root/*" \
  --exclude="/home/*" \
  --exclude="/Dev/*" \
  --exclude="/dev_mirror/*" \
  --exclude="/tips/*" \
  --exclude="/backup/*" \
  --exclude="/WEBMIN_BACKUPS/*" \
  --exclude="/git/*" \
  --exclude="/rexx/*" \
  --exclude="/awstats-7.5/" \
  --exclude="/samba/*" \
  --exclude="/1.8/*" \
  --exclude="/router/*" \
  --exclude="/var/lib/clamav/*" \
  --exclude="/var/lib/awstats/*" \
  --exclude="/var/spool/mail/*" \
  --exclude="/opt/metasploit-framework/.git/*" \
  --exclude="/usr/src/tensorflow/.git/*" \
  --exclude="/var/www/html/private/*" \
  --exclude="/var/www/html/ISE_Data/*" \
  --exclude="/var/www/html/backup/*" \
  --exclude="/SQL/*" \
  --exclude="/var/log/httpd/*" \
  --exclude="/etc/webmin/system-status/history/*" \
  --exclude="/var/lib/fail2ban/*" \
  --exclude="/etc/hosts" \
  --exclude="/etc/hpasswd" \
  --exclude="/usr/local/lib/python3.6/site-packages/torch/lib/*" \
  --exclude="/var/www/html/attachments/*" \
  --exclude="/var/www/html/attachments2/*" root@"$LIVE_IP":/ /

echo "[4/4] Pulling only the 20 newest attachments (from both dirs combined, found on Live over SSH)..."
ssh root@"$LIVE_IP" "find /var/www/html/attachments /var/www/html/attachments2 -type f -printf '%T@ %p\n' | sort -rn | head -20 | cut -d' ' -f2-" > /tmp/newest_attachments.txt

rsync -paPv --numeric-ids --files-from=/tmp/newest_attachments.txt --relative \
  -e ssh root@"$LIVE_IP":/ /

echo "[5/5] Regenerating swap (never reuse a copied swapfile — excluded from rsync above on purpose)..."
if [ -f /swapfile ]; then
  swapoff /swapfile 2>/dev/null || true
  rm -f /swapfile
fi
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
grep -q '^/swapfile' /etc/fstab || echo "/swapfile none swap sw 0 0" >> /etc/fstab

echo "Done. SQL dump is at $BACKUP_DIR/live_full_backup_*.sql — import it manually with:"
echo "  mysql < $BACKUP_DIR/live_full_backup_*.sql"

« Last Edit: Today at 03:13:46 AM by Chip »
friendly
0
funny
0
informative
0
agree
0
disagree
0
like
0
dislike
0
No reactions
No reactions
No reactions
No reactions
No reactions
No reactions
No reactions
Our Discord Server invitation link is https://discord.gg/jB2qmRrxyD

Tags:
 


dopetalk does not endorse any advertised product nor does it accept any liability for it's use or misuse





TERMS AND CONDITIONS

In no event will d&u or any person involved in creating, producing, or distributing site information be liable for any direct, indirect, incidental, punitive, special or consequential damages arising out of the use of or inability to use d&u. You agree to indemnify and hold harmless d&u, its domain founders, sponsors, maintainers, server administrators, volunteers and contributors from and against all liability, claims, damages, costs and expenses, including legal fees, that arise directly or indirectly from the use of any part of the d&u site.


TO USE THIS WEBSITE YOU MUST AGREE TO THE TERMS AND CONDITIONS ABOVE


Founded December 2014
SimplePortal 2.3.6 © 2008-2014, SimplePortal