Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ β ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΠΠ°Π·Π°Π½ΠΈ
ΠΠ°ΡΠ°: 2024-07-25
ΠΠ΅ΡΠ°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
ΠΠ°Π·Π°Π½Ρ
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ
ΠΎΡ 1000.00 ΡΡΠ±.
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
2024-07-25
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ³ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ, ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΠ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°/Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ (1Π‘, Π°ΠΉΠΊΠΎ) ΠΈ Ρ.Π΄. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Windows. Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: ΡΠΎΡΡΠ΅Ρ, ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡ, ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ, ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. ΠΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ³ΡΠ΅Ρ
Π½ΠΈΠΊΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π²ΡΠ΅Ρ
Π·Π°Π΄Π°ΡΠ°Ρ
ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΡΠΈ Π²ΡΡΡΠ΅ΡΠ΅. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠ΅Π·ΠΆΠ°ΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΡ
ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ
ΠΡΠ΅Π½Π΄Π° ΡΠ΅ΡΠ²Π΅ΡΠ°
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π‘Π΅ΡΠ²Π΅Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Windows Server. Π‘ΡΠΎΠΊ Π°ΡΠ΅Π½Π΄Ρ: 10 ΠΌΠ΅ΡΡΡΠ΅Π².
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-10-12
ΠΡΠ΅Π½Π΄Π° ΡΠ΅ΡΠ²Π΅ΡΠ°
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
ΠΎΡ 5000.00 ΡΡΠ±.
Π‘Π΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Windows Server. Π‘ΡΠΎΠΊ Π°ΡΠ΅Π½Π΄Ρ: 160 ΠΌΠ΅ΡΡΡΠ΅Π². ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ 1Π‘ Ρ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΎΡ 20 ΠΠ± ΠΠΎΡΡΡΠΏ ΠΊ 20 ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΠ° ΡΠΎΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠ°ΡΡ) Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
!.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-22
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: ΡΠΎΡΡΠ΅Ρ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-18
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ. ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: Π’Π΅Π»Π΅ΡΠΎΠ½. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π² Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠΌ ΠΊΠ°Π½Π°Π»Π΅, ΠΏΠΎΡΠ»Π΅ Π²Π·Π»ΠΎΠΌΠ° ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-17
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
ΠΎΡ 500.00 ΡΡΠ±.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΠ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ: ArchiCAD, Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ 27 Π²Π΅ΡΡΠΈΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°: Windows 10. ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠΈΠΊΡΠ΅ΠΏΠ»Ρ ΡΠΎΡΠΎ. ΠΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡ
ΠΈΠΊΠ°Π΄ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π²Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° , Ρ ΠΊ ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ (Π²ΡΡΠ²ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ). ΠΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ: Π¦Π΅Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ. ΠΠ°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π° ΡΠΎΡΠΎ.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-12
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
ΠΎΡ 1000.00 ΡΡΠ±.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΠ. Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡ, ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ, ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΡΡ, ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠ°ΡΠΎΡ, 1. ΠΠΎΠΌΠΎΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² bash(ΠΊΠΎΠΏΠΈΡ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅). 2. Π‘ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° cleanwalarch.sh, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΈΡΡΠΊΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΏΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°ΡΡΠ΅ 7 Π΄Π½Π΅ΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅ /backup/wal_arch. Π‘Π΅ΡΠ²Π΅Ρ: Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. 1. ΠΠΎΠΌΠΎΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² bash(ΠΊΠΎΠΏΠΈΡ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅). 2. Π‘ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° cleanwalarch.sh, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΈΡΡΠΊΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΏΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°ΡΡΠ΅ 7 Π΄Π½Π΅ΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅ /backup/wal_arch Π‘ΠΎΡΡΠ°Π² ΡΡΠ΅Π½Π°ΡΠΈΡ backup.sh: #!/bin/bash # Π‘ΠΌΠΎΡΡΠΈΠΌ Π΅ΡΡΡ Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΡΠΈ Π±ΡΠΊΠ°ΠΏΠ°. ΠΡΠ»ΠΈ Π½Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ backupfolder=${1:-/backup} [ ! -d $backupfolder ] && echo "Directory $backupfolder DOES NOT exists." && exit 1 # ΠΡΠΎΠ²Π΅ΡΠΊΠ° PID Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ Π Π ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½. PID_F=${backupfolder}/backup.pid if [ -r ${PID_F} ]; then PID=`cat ${PID_F}` if /usr/bin/kill -s 0 ${PID} > /dev/null 2>&1; then echo "Backup is already running. PID: ${PID}" exit 2 fi fi # ΠΡΠ»ΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ ΠΏΠΈΡΠ΅ΠΌ PID Π² ΡΠ°ΠΉΠ» echo $$ > ${PID_F} display_time=$(date "+%Y-%m-%d %H:%M") echo "["$display_time"] Backup started." display_time=$(date "+%Y-%m-%d %H:%M") echo "["$display_time"] Cleaning backup folder." # ΠΡΠΈΡΠ°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Π±ΡΠΊΠ°ΠΏΠΎΠ² rm -rf ${backupfolder}/pgsql-backup rm -f ${backupfolder}/backup.log backup() { # ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΡΠΊΠ°ΠΏ sudo -u pgbackup bash -c "/opt/pgpro/ent-15/bin/pg_basebackup -p 10265 -c fast -D $backupfolder/pgsql-backup -v -Ft -Xs -P" || return 1 echo "done" } backup 2>&1 | tee -a ${backupfolder}/backup.log if [ ${PIPESTATUS[0]} == 1 ]; then exit 1; fi # Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Ρ PID /usr/bin/rm $PID_F Π‘ΠΎΡΡΠ°Π² ΡΡΠ΅Π½Π°ΡΠΈΡ restore.sh #!/bin/bash # Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΡΠΈ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ, Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΉΡΠΈ if [ -z "$1" ]; then echo "Usage: restore.sh /restore" echo "Run under root user" exit 1; fi; backupfolder=$1 restore() { [ ! -d $backupfolder ] && echo "Directory $backupfolder DOES NOT exists." && return 1 [ ! -d $backupfolder/pgsql-backup ] && echo "$backupfolder has no backup" && return 1 echo "1. Stop Postgres service"; # ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Postgres systemctl stop postgresql-15.service echo "2. remove data files"; rm -rf /pgdb/data/* || echo "check for data folder exist" mkdir /pgdb/data mkdir /pgdb/data/pg_wal echo "3. extract backup"; # Π Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ backup Π² ΠΏΠ°ΠΏΠΊΡ /pgdb/data tar -xf $backupfolder/pgsql-backup/base.tar -C /pgdb/data || return 1 tar -xf $backupfolder/pgsql-backup/pg_wal.tar -C /pgdb/data/pg_wal || return 1 echo "4. change backup owner to postgres"; # Π΄Π΅Π»Π°Π΅ΠΌ postgres Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ chown -R postgres:postgres /pgdb/data || return 1 chmod 750 -R /pgdb/data || return 1 echo "5. start postgresql service"; # Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡ systemctl start postgresql-15.service echo "done" } restore 2>&1 | tee restore.log.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-10
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
ΠΎΡ 5000.00 ΡΡΠ±.
zVirt, ΠΠΈΠ±Π΅Ρ ΠΡΠΊΠ°ΠΏ. Π ΠΠ ΠΠ‘, 1Π‘, Postgres β Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΠΈΡΠΊΠΈ - LUN, Direct Lun. ΠΠΎΠΌΠΎΡΡ Π² ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΎΡΡΠΎΠΌ Π½Π΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°: zVirt, ΠΠΈΠ±Π΅Ρ ΠΡΠΊΠ°ΠΏ. Π ΠΠ ΠΠ‘, 1Π‘, Postgres β Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΠΈΡΠΊΠΈ - LUN, Direct Lun.
ΠΠ°Π·Π°Π½Ρ
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-09-09