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
|