Инструменты пользователя

Инструменты сайта


linux:bash:bash_backups

Варианты резервного копирования (backup) средствами BASH

Архивирование файловых данных, копирование на NAS и отправкой результатов на E-mail

#! /bin/bash/
echo 'Бекап файловых данных:' > message
/etc/init.d/samba stop
TIME=$(date +'%d.%m.%Y в %R')
echo "Служба SMB stop: "$TIME"." >> message
tar -cvjf  /home/%HOMEUSER%/database.tar.bz2 /home/%HOMEUSER%/database/DATA
/etc/init.d/samba start
TIME=$(date +'%d.%m.%Y в %R')
echo "Служба SMB start: "$TIME"." >> message
mount -t cifs //%NAS_SERVER%/backup/ /home/%HOMEUSER%/mountdir/ -o iocharset=utf8,password=''
MOVETIME=$(date +'%d.%m.%Y')
mv /home/%HOMEUSER%/database.tar.bz2 /home/%HOMEUSER%/mountdir/database_"$MOVETIME".tar.bz2
ls -1 -s --block-size=1048576 -ct /home/%HOMEUSER%/mountdir >> message
echo '' | mutt -s "Резервное копирование базы" -i message %ADMIN_MAIL%
umount /home/%HOMEUSER%/mountdir
rm message
rm /home/%HOMEUSER%/database.tar.bz2

Архивирование файловых данных с двух каталогов с исключением

#!/bin/bash

BACKUP_FOLDER_PATH=/home/server/fileshare
BACKUP_FOLDER_PATH_2=/home/server/fileshare_2
BACKUP_FOLDER_PATH_STORAGE=/home/server/backup/backupfiles
DATA=$(date +'%Y.%m.%d')
#сжимаем папку исключая один из каталогов
7z a -t7z -mx=9 $BACKUP_FOLDER_PATH_STORAGE/fileshare_backup_$DATA.7z $BACKUP_FOLDER_PATH -xr\!Scaners
7z a -t7z -mx=9 $BACKUP_FOLDER_PATH_STORAGE/fileshare_2_backup_$DATA.7z $BACKUP_FOLDER_PATH_2
chmod 0444 $BACKUP_FOLDER_PATH_STORAGE/fileshare_backup_$DATA.7z
chmod 0444 $BACKUP_FOLDER_PATH_STORAGE/fileshare_2_backup_$DATA.7z

Резервное копирование настроек

Резервное копирование настроек домашнего сервера, мало ли умрет винт…

Есть скрипт, запускаем его кроном переодичеки и выкладываем архив с конфигурациоными файлами в доступную по сети папку с датой, архивируем ее.

#!/bin/bash
BACKUP_FOLDER_PATH=/home/server/exchange

mkdir $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)

#настройки сети
cp /etc/network/interfaces $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/interfaces_$(date +%m.%d.%Y)
#фаерволл
cp /etc/iptables.up.rules  $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/iptables.up.rules_$(date +%m.%d.%Y)
#FSTAB файл монтирования каталогов
cp /etc/fstab $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/fstab_$(date +%m.%d.%Y)
#Apache вебсервер
cp /etc/apache2/apache2.conf $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/apache2.conf_$(date +%m.%d.%Y)
#PHP
cp /etc/php5/apache2/php.ini $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/php.ini_$(date +%m.%d.%Y)
#VSVFPD FTP сервер
cp /etc/vsftpd.conf $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/vsftpd.conf_$(date +%m.%d.%Y)
#SAMBA FTP сервер
cp /etc/samba/smb.conf $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/smb.conf_$(date +%m.%d.%Y)

#rtorrent
mkdir $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/rtorrent
cp /home/torrent/movetorrentfiles.sh  $BACKUP_FOLDER_PATH/rtorrent/movetorrentfiles.sh_$(date +%m.%d.%Y)
cp /home/torrent/.rtorrent.rc $BACKUP_FOLDER_PATH/rtorrent/.rtorrent.rc_$(date +%m.%d.%Y)
mkdir $BACKUP_FOLDER_PATH/$(date +%m.%d.%Y)/rtorrent/session
cp /home/torrent/session/* $BACKUP_FOLDER_PATH//$(date +%m.%d.%Y)/rtorrent/session/1

linux/bash/bash_backups.txt · Последнее изменение: 2021/04/17 14:00 — adminroot