From 12854190cff817567f7a95a1d86610c43ba71b0b Mon Sep 17 00:00:00 2001
From: Silvino Silva
Date: Tue, 5 Mar 2019 17:37:39 +0000
Subject: core script backup-system revision
---
core/scripts/backup-system.sh | 149 +++++++++++++++++++++---------------------
1 file changed, 74 insertions(+), 75 deletions(-)
(limited to 'core')
diff --git a/core/scripts/backup-system.sh b/core/scripts/backup-system.sh
index 17c8c6a..22fe588 100644
--- a/core/scripts/backup-system.sh
+++ b/core/scripts/backup-system.sh
@@ -3,8 +3,6 @@
ROOT_DIR=
DEST_DIR=/root/backup
DEST_SYS="${DEST_DIR}/system"
-PORT_PKG="${DEST_SYS}/packages"
-PORT_PRT="${DEST_SYS}/ports"
DATA_CNF="${DEST_DIR}/conf"
DATA_USR="${DEST_DIR}/user"
DATA_SRV="${DEST_DIR}/srv"
@@ -31,8 +29,6 @@ print_data () {
echo "ROOT_DIR=${ROOT_DIR}"
echo "DEST_DIR=${DEST_DIR}"
echo "DEST_SYS=${DEST_SYS}"
- echo "PORT_PKG=${PORT_PKG}"
- echo "PORT_PRT=${PORT_PRT}"
echo "DATA_CNF=${DATA_CNF}"
echo "DATA_USR=${DATA_USR}"
echo "DATA_SRV=${DATA_SRV}"
@@ -59,8 +55,6 @@ while [ "$1" ]; do
# Destination directory
DEST_SYS="${DEST_DIR}/system"
- PORT_PKG="${DEST_SYS}/packages"
- PORT_PRT="${DEST_SYS}/ports"
DATA_CNF="${DEST_DIR}/conf"
DATA_USR="${DEST_DIR}/user"
DATA_SRV="${DEST_DIR}/srv"
@@ -80,8 +74,6 @@ done
print_data
ConfirmOrExit
-mkdir -p ${PORT_PKG}
-mkdir -p ${PORT_PRT}
mkdir -p ${DATA_CNF}
mkdir -p ${DATA_USR}
mkdir -p ${DATA_SRV}
@@ -95,7 +87,79 @@ tar --xattrs -zcpf $DATA_CNF/usr_etc.tar.gz \
--directory=$ROOT_DIR/usr/etc \
.
+bacup_home_metadata () {
# User Meta Data
+
+ for dir in /home/*; do
+ if [ "${dir}" != "/home/lost+found" ]; then
+ user=$(basename $dir)
+ tar --xattrs -zcpf "${DATA_USR}/meta-${user}.tar.gz" \
+ $dir/.bash_profile \
+ $dir/.bashrc \
+ $dir/.config \
+ $dir/.gitconfig \
+ $dir/.gnupg \
+ $dir/.irssi \
+ $dir/.lynxrc \
+ $dir/.mutt \
+ $dir/.netrc \
+ $dir/.profile \
+ $dir/.spectrwm.conf \
+ $dir/.ssh \
+ $dir/.tmux.conf \
+ $dir/.vim \
+ $dir/.vimrc \
+ $dir/.xinitrc
+
+ # encript data
+ #gpg --output "${DATA_USR}/meta-${user}.tar.gz.gpg" \
+ # --encrypt --recipient user@host \
+ # "${DATA_USR}/meta-${user}.tar.gz"
+
+ tar --xattrs -zcpf "${DATA_USR}/gitolite-${user}.tar.gz" \
+ $dir/gitolite-admin
+ fi
+ done
+}
+
+backup_services () {
+ # backup web data first stop php and nginx
+ for pkg_www in ${ROOT_DIR}/srv/www/*; do
+ if [[ ! $(ls ${pkg_www} | grep -v "backup_deploy") = "" ]]; then
+ pkg_back="${DATA_SRV}/www"
+ if [ ! -d ${pkg_back} ]; then
+ mkdir -p ${pkg_back}
+ fi
+ bck_file="${pkg_back}/$(basename ${pkg_www}).tar.gz"
+ exc="${pkg_www}/backup_deploy"
+ tar --exclude ${exc} --xattrs -zcpf ${bck_file} ${pkg_www}
+ fi
+ done
+
+ # backup database data first dump all databases
+ pkg_back="${DATA_SRV}/pgsql"
+ if [ ! -d ${pkg_back} ]; then
+ mkdir -p ${pkg_back}
+ fi
+ pg_dumpall -U postgres | gzip > ${pkg_back}/cluster_dump.gz
+
+ tar --xattrs -zcpf "${pkg_back}/pgsql-conf.tar.gz" \
+ ${ROOT_DIR}/srv/pgsql/data/pg_hba.conf \
+ ${ROOT_DIR}/srv/pgsql/data/pg_ident.conf \
+ ${ROOT_DIR}/srv/pgsql/data/postgresql.conf
+
+
+ # backup gitolite repositories
+ pkg_back="${DATA_SRV}/gitolite"
+ if [ ! -d ${pkg_back} ]; then
+ mkdir -p ${pkg_back}
+ fi
+
+ tar --xattrs -zcpf "${pkg_back}/gitolite.tar.gz" \
+ --directory=${ROOT_DIR}/srv/gitolite \
+ .
+}
+
while true
do
echo "Backup User Metadata ?"
@@ -105,36 +169,7 @@ do
n|N|no|NO|No) break ;;
y|Y|YES|yes|Yes)
echo "Accept - you entered $CONFIRM"
- for dir in /home/*; do
- if [ "${dir}" != "/home/lost+found" ]; then
- user=$(basename $dir)
- tar --xattrs -zcpf "${DATA_USR}/meta-${user}.tar.gz" \
- $dir/.bash_profile \
- $dir/.bashrc \
- $dir/.config \
- $dir/.gitconfig \
- $dir/.gnupg \
- $dir/.irssi \
- $dir/.lynxrc \
- $dir/.mutt \
- $dir/.netrc \
- $dir/.profile \
- $dir/.spectrwm.conf \
- $dir/.ssh \
- $dir/.tmux.conf \
- $dir/.vim \
- $dir/.vimrc \
- $dir/.xinitrc
-
- # encript data
- #gpg --output "${DATA_USR}/meta-${user}.tar.gz.gpg" \
- # --encrypt --recipient user@host \
- # "${DATA_USR}/meta-${user}.tar.gz"
-
- tar --xattrs -zcpf "${DATA_USR}/gitolite-${user}.tar.gz" \
- $dir/gitolite-admin
- fi
- done
+ bacup_home_metadata
break
;;
*) echo "Please enter only y or n"
@@ -151,43 +186,7 @@ do
n|N|no|NO|No) break ;;
y|Y|YES|yes|Yes)
echo "Accept - you entered $CONFIRM"
-
- # backup web data first stop php and nginx
- for pkg_www in ${ROOT_DIR}/srv/www/*; do
- if [[ ! $(ls ${pkg_www} | grep -v "backup_deploy") = "" ]]; then
- pkg_back="${DATA_SRV}/www"
- if [ ! -d ${pkg_back} ]; then
- mkdir -p ${pkg_back}
- fi
- bck_file="${pkg_back}/$(basename ${pkg_www}).tar.gz"
- exc="${pkg_www}/backup_deploy"
- tar --exclude ${exc} --xattrs -zcpf ${bck_file} ${pkg_www}
- fi
- done
-
- # backup database data first dump all databases
- pkg_back="${DATA_SRV}/pgsql"
- if [ ! -d ${pkg_back} ]; then
- mkdir -p ${pkg_back}
- fi
- pg_dumpall -U postgres | gzip > ${pkg_back}/cluster_dump.gz
-
- tar --xattrs -zcpf "${pkg_back}/pgsql-conf.tar.gz" \
- ${ROOT_DIR}/srv/pgsql/data/pg_hba.conf \
- ${ROOT_DIR}/srv/pgsql/data/pg_ident.conf \
- ${ROOT_DIR}/srv/pgsql/data/postgresql.conf
-
-
- # backup gitolite repositories
- pkg_back="${DATA_SRV}/gitolite"
- if [ ! -d ${pkg_back} ]; then
- mkdir -p ${pkg_back}
- fi
-
- tar --xattrs -zcpf "${pkg_back}/gitolite.tar.gz" \
- --directory=${ROOT_DIR}/srv/gitolite \
- .
-
+ backup_services
break
;;
*) echo "Please enter only y or n"
--
cgit 1.4.1-2-gfad0
From bc963c50f553bd25bd2fd17f10d2cf7ac5beecd5 Mon Sep 17 00:00:00 2001
From: Silvino Silva
Date: Wed, 6 Mar 2019 21:22:39 +0000
Subject: core configure and ports revision
---
core/configure.html | 3 +--
core/ports.html | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
(limited to 'core')
diff --git a/core/configure.html b/core/configure.html
index c814091..90c97ea 100644
--- a/core/configure.html
+++ b/core/configure.html
@@ -185,8 +185,7 @@
- # group -g username username
- # useradd -u username -g username -m -k /etc/skel -s /bin/bash username
+ # useradd -U -m -k /etc/skel -s /bin/bash username
# usermod -G adm,wheel,audio,video username
# passwd username
diff --git a/core/ports.html b/core/ports.html
index 34583d1..e921351 100644
--- a/core/ports.html
+++ b/core/ports.html
@@ -29,8 +29,7 @@
Add a user that will be used by ports tools, this example pkgmk;
- # group -r -g pkgmk pkgmk
- # useradd -r -u pkgmk -g pkgmk -m -d /usr/ports -s /bin/false pkgmk
+ # useradd -r -U -d /usr/ports -s /bin/false pkgmk
You can add your self to group pkgmk. Check if members of this
--
cgit 1.4.1-2-gfad0
From 47e5b7d01735d130e07e2c8c3be8db667c1b442e Mon Sep 17 00:00:00 2001
From: Silvino Silva
Date: Mon, 18 Mar 2019 01:03:44 +0000
Subject: core ports and restore script revision
---
core/scripts/backup-ports.sh | 130 ++++++++++++++++++++++++++----------------
core/scripts/restore-ports.sh | 4 +-
2 files changed, 83 insertions(+), 51 deletions(-)
(limited to 'core')
diff --git a/core/scripts/backup-ports.sh b/core/scripts/backup-ports.sh
index b5667e4..bac18e5 100644
--- a/core/scripts/backup-ports.sh
+++ b/core/scripts/backup-ports.sh
@@ -3,6 +3,9 @@
DEST_SYS=/usr/ports/releases/stable
DEST_ARC=/usr/ports/releases/archives
+#PACKAGES=/usr/ports/packages
+PACKAGES=/usr/ports/archive/packages
+
#PRT_GET_FLAGS="-fr -if -is"
PRT_GET_FLAGS="-fr"
@@ -12,90 +15,119 @@ BUILD_NAME="R1D9"
#echo "${DEST_ARC}/NAME-0.0.0.targ.gz"
#read BUILD_NAME
+#internal
+database=${DEST_SYS}/pkg-db.tar.gz
+ports=${DEST_SYS}/etc-ports.tar.gz
+metadata=${DEST_SYS}/metadata.tar.gz
+build=${DEST_SYS}/metadata/build-version
+portsver=${DEST_SYS}/metadata/ports-releases
+all=${DEST_SYS}/metadata/all-installed
+collinst=${DEST_SYS}/metadata/installed
+notfound=${DEST_SYS}/metadata/not-found
+
echo "Give build CRUX_RELEASE.VERSION (3.4.X);"
echo "${DEST_ARC}/${BUILD_NAME}-VERSION.tar.gz"
read BUILD_VERSION
mkdir -p ${DEST_SYS}
mkdir -p ${DEST_ARC}
+mkdir -p ${DEST_SYS}/metadata
+
+archive="${DEST_ARC}/${BUILD_NAME}-${BUILD_VERSION}.tar"
+echo "Creating $archive ..."
+if [ -f ${archive} ]; then
+ rm ${archive}
+fi
backup_collections() {
# backup collection packages
while read COLL_VERSION; do
- COLL_NAME=$(echo $COLL_VERSION | cut -d "-" -f 1)
- COLL_RELEASE=$(echo $COLL_VERSION | cut -d "-" -f 2)
-
- while read PORT_NAME; do
- # get installed version not version on ports
- PACKAGE=$(grep "^${PORT_NAME}#" ${DEST_SYS}/all-installed.pkg)
- echo "Backing up package: ${PACKAGE}"
-
- # check if binary package exist
- if [ ! -f /usr/ports/packages/${PACKAGE} ]; then
- echo "Building package: ${PACKAGE};"
- sudo prt-get update ${PRT_GET_FLAGS} ${PORT_NAME}
- fi
-
- if [ -f /usr/ports/packages/${PACKAGE} ]; then
- echo ${PACKAGE} >> ${DEST_SYS}/${COLL_NAME}-backup.pkg
- tar rvf ${DEST_SYS}/${COLL_NAME}-${COLL_RELEASE}.tar --directory=/usr/ports/packages ${PACKAGE}
- else
- echo "Package ${PACKAGE} from ${PORT_NAME} port not found."
- echo ${PACKAGE} >> ${DEST_SYS}/${COLL_NAME}-${COLL_RELEASE}-notfound.pkg
- fi
- done < ${DEST_SYS}/${COLL_NAME}-installed.pkg
- done < ${DEST_SYS}/ports_versions.pkg
+ COLL_NAME=$(echo $COLL_VERSION | cut -d "-" -f 1)
+ COLL_RELEASE=$(echo $COLL_VERSION | cut -d "-" -f 2)
+
+ if [ -f ${DEST_SYS}/${COLL_VERSION}.tar ]; then
+ rm ${DEST_SYS}/${COLL_VERSION}.tar
+ fi
+
+ while read PORT_NAME; do
+ # get installed version not version on ports
+ PACKAGE=$(grep "^${PORT_NAME}#" ${all})
+
+ # check if binary package exist
+ if [ ! -f /usr/ports/packages/${PACKAGE} ]; then
+ echo "Building package: ${PACKAGE};"
+ sudo prt-get update ${PRT_GET_FLAGS} ${PORT_NAME}
+ fi
+
+ if [ -f /usr/ports/packages/${PACKAGE} ]; then
+ echo ${PACKAGE} >> ${DEST_SYS}/metadata/${COLL_NAME}-backup
+ tar rvf ${DEST_SYS}/${COLL_VERSION}.tar --directory=${PACKAGES} ${PACKAGE}
+ else
+ echo "Package ${PACKAGE} from ${PORT_NAME} port not found."
+ echo ${PACKAGE} >> ${notfound}-${COLL_VERSION}
+ fi
+ done < ${collinst}-${COLL_NAME}
+
+ tar rvf $archive --directory=${DEST_SYS} ${COLL_VERSION}.tar
+
+ done < ${portsver}
}
create_metadata() {
- echo "${BUILD_NAME}-${BUILD_VERSION}" >> ${DEST_SYS}/build_version
+
+ echo "${BUILD_NAME}-${BUILD_VERSION}" > ${build}
# archive pkgutils data
- tar --xattrs -zcpf ${DEST_SYS}/pkg-db.tar.gz /var/lib/pkg/db .
+ tar --xattrs -zcpf $database --directory=/var/lib/pkg/ db
+ tar rvf $archive --directory=${DEST_SYS} $(basename ${database})
# archive ports data
- tar --xattrs -zcpf ${DEST_SYS}/etc_ports.tar.gz --directory=/etc/ports .
+ tar --xattrs -zcpf $ports --directory=/etc/ports .
+ tar rvf $archive --directory=${DEST_SYS} $(basename ${ports})
# must be using gwak instead of sed
- prt-get listinst -v | sed 's/ /#/g' | sed 's/$/.pkg.tar.gz/g' > ${DEST_SYS}/all-installed.pkg
+ prt-get listinst -v | sed 's/ /#/g' | sed 's/$/.pkg.tar.gz/g' > ${all}
- if [ -f ${DEST_SYS}/ports_versions ]; then
- rm ${DEST_SYS}/ports_versions.pkg
+ if [ -f ${portsver} ]; then
+ rm ${portsver}
fi
for filename in /etc/ports/*.git; do
- source $filename
+ source $filename
+
+ echo "${NAME} port collection release (exp; ${BUILD_VERSION}):"
+
+ read RELEASE
+ echo ${NAME}-${RELEASE} >> ${portsver}
- echo "${NAME} port collection release (exp; ${BUILD_VERSION}):"
+ # backup ports collection
+ echo "Backing up collection: ${NAME}"
+ tar --xattrs -zcpf ${DEST_SYS}/"ports"-${NAME}-${RELEASE}.tar.gz \
+ --directory=/usr/ports/${NAME} \
+ --exclude=.git \
+ .
- read RELEASE
- echo ${NAME}-${RELEASE} >> ${DEST_SYS}/ports_versions.pkg
+ tar rvf $archive --directory=${DEST_SYS} "ports"-${NAME}-${RELEASE}.tar.gz
- # backup ports collection
- echo "Backing up collection: ${NAME}"
- tar --xattrs -zcpf ${DEST_SYS}/${NAME}-ports-${RELEASE}.tar.gz \
- --directory=/usr/ports/${NAME} \
- --exclude=.git/ \
- .
+ # create list of installed packages
+ prt-get printf "%i %p %n\n" | grep "yes /usr/ports/${NAME}" | cut -d " " -f 3 > ${collinst}-${NAME}
- # create list of installed packages
- prt-get printf "%i %p %n\n" | grep "yes /usr/ports/${NAME}" | cut -d " " -f 3 > ${DEST_SYS}/${NAME}-installed.pkg
- done
+done
}
create_archive() {
- echo "Creating ${DEST_ARC}/${BUILD_NAME}-${BUILD_VERSION}.tar.gz ..."
- tar --xattrs -zcpf ${DEST_ARC}/${BUILD_NAME}-${BUILD_VERSION}.tar.gz --directory=${DEST_SYS} .
+ tar --xattrs -zcpf ${metadata} --directory=${DEST_SYS} metadata/
+ tar rvf $archive --directory=${DEST_SYS} $(basename ${metadata})
}
update_host() {
- echo "Creating links to /usr/ports/installed"
- rm -r /usr/ports/installed
- pkg_installed
+ echo "Creating links to /usr/ports/installed"
+ rm -r /usr/ports/installed
+ pkg_installed
- echo "Creating ports page"
- portspage --title=${BUILD_NAME}-${BUILD_VERSION} /usr/ports/installed > /usr/ports/installed/index.html
+ echo "Creating ports page"
+ portspage --title=${BUILD_NAME}-${BUILD_VERSION} /usr/ports/installed > /usr/ports/installed/index.html
}
create_metadata
diff --git a/core/scripts/restore-ports.sh b/core/scripts/restore-ports.sh
index 39f5178..b53e723 100644
--- a/core/scripts/restore-ports.sh
+++ b/core/scripts/restore-ports.sh
@@ -19,7 +19,7 @@ extract_archives() {
echo "extracting ${COLL_VERSION}.tar to /usr/ports/packages"
tar -C /usr/ports/packages -xf ${WORK_DIR}/${COLL_VERSION}.tar
rm ${WORK_DIR}/${COLL_VERSION}.tar
- done < ${WORK_DIR}/ports_versions.pkg
+ done < ${WORK_DIR}/metadata/ports-releases
}
update_system() {
@@ -30,7 +30,7 @@ update_system() {
while read COLL_VERSION; do
COLL_NAME=$(echo $COLL_VERSION | cut -d "-" -f 1)
ports -u $COLL_NAME
- done < ${WORK_DIR}/ports_versions.pkg
+ done < ${WORK_DIR}/metadata/ports-releases
# first update with prt-get
prt-get sysup
--
cgit 1.4.1-2-gfad0