43 lines
1.4 KiB
Bash
43 lines
1.4 KiB
Bash
|
#!/bin/bash
|
|||
|
#set -x
|
|||
|
#Скрипт копирования с SMB шары
|
|||
|
#-s сервер откуда копировать
|
|||
|
#-f имя общей папки откуда копировать
|
|||
|
#-m папка куда надо смонитировать. Можно не указывать, но для не ascii имен -
|
|||
|
#лучше указать, иначе могут быть проблемы с удалением директорий и отмонтирование общей папки
|
|||
|
|
|||
|
while [[ "$#" -gt 0 ]]
|
|||
|
do
|
|||
|
case $1 in
|
|||
|
-s|--server) SMB_SERV="$2"; shift;;
|
|||
|
-f|--folder) BACKUP_DIR="$2"; shift;;
|
|||
|
-m|--mount) MOUNTDIR="$2"; shift;;
|
|||
|
esac
|
|||
|
shift
|
|||
|
done
|
|||
|
if [ -z "${MOUNTDIR}" ]; then
|
|||
|
|
|||
|
MOUNTDIR=$BACKUP_DIR
|
|||
|
|
|||
|
fi
|
|||
|
BACKUP_DATE=$(date "+%Y%m%d-%H-%M-%S")
|
|||
|
BACKUP_PATH='/back'
|
|||
|
CRED="username=user@office.kp.ru,password=pass,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0"
|
|||
|
mkdir -p $BACKUP_PATH/$MOUNTDIR
|
|||
|
mkdir -p /root/temp_backup/$MOUNTDIR
|
|||
|
|
|||
|
mount -t cifs -o $CRED //$SMB_SERV/$BACKUP_DIR /root/temp_backup/$MOUNTDIR
|
|||
|
|
|||
|
rsync -av --progress /root/temp_backup/$MOUNTDIR/ $BACKUP_PATH/$MOUNTDIR/$BACKUP_DATE/
|
|||
|
|
|||
|
if [ $? -eq 0 ]; then
|
|||
|
/root/bin/telegram.sh "$SMB_SERV/$BACKUP_DIR
|
|||
|
✅ Копирование выполнено успешно"
|
|||
|
else
|
|||
|
/root/bin/telegram.sh "$SMB_SERV/$BACKUP_DIR
|
|||
|
❌ Неудачное копирование"
|
|||
|
fi
|
|||
|
|
|||
|
umount -t cifs /root/temp_backup/$MOUNTDIR
|
|||
|
rm -rf /root/temp_backup/$MOUNTDIR
|