URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 1962
[ Назад ]

Исходное сообщение
"Как удалить с удаленной машины с помощью sambaclient?"

Отправлено Алексей , 01-Дек-08 13:16 
С сервера на FreeBSD работает скрипт, кидающий папку на другом сервере на Windows Server 2003, вопрос в том что я не нашел как из под sambaclient удалять папку с файлами, кто знает подскажите! думал rmdir, но она удаляет только пустую папку, как удалить полную?
Вот скрипт бэкапа:
#!/bin/sh
BACKUPDATE=`/bin/date +"%d-%m-%Y"`
RMBACKUPDATE=`/bin/date -v-2d +"%d-%m-%Y"`
MONTH=`/bin/date +"%m-%Y"`
BACKUPNAME="Backup"
DIRTOBACKUP="/share"
DIRTOSTORE="/backup_folders/"
WORKGROUP="Domainname"
SERVER="Server_name"
SERVERSHARE="serverdoc"
USERNAME="backupserver"
PASSWORD="password"
LOGFOLDER="/root"

echo "==================================================="
date +"%d-%m-%Y"
date +"%T"
echo "Create New Backup directory $DIRTOSTORE/$BACKUPDATE"
mkdir $DIRTOSTORE/$BACKUPDATE

date +"%T"
echo "changing current dir to ${DIRTOSTORE}/${BACKUPDATE}"
cd ${DIRTOSTORE}/${BACKUPDATE}

date +"%T"
echo "copy files for current folder to  ${DIRTOSTORE}/${BACKUPDATE}"
cp -R -n $DIRTOBACKUP ${DIRTOSTORE}/${BACKUPDATE}

date +"%T"
echo "copy files to backup server"
cd $DIRTOSTORE/$BACKUPDATE
/usr/local/bin/smbclient \\\\$SERVER\\$SERVERSHARE -U $USERNAME%$PASSWORD -W $WORKGROUP -c ' rec; pro; rmdir '$RMBACKUPDATE'; mkdir '$BACKUPDATE'; cd '$BACKUPDA
TE'; recurse; mput '*'; exit '

date +"%T"
echo "deleting all for dir $DIRTOSTORE/$BACKUPDATE"
rm -R $DIRTOSTORE/$BACKUPDATE/*

date +"%T"
echo "copy logfile to $SERVER\\$SERVERSHARE"
cd $LOGFOLDER
/usr/local/bin/smbclient \\\\$SERVER\\$SERVERSHARE -U $USERNAME%$PASSWORD -W $WORKGROUP -c ' put 'log.txt' '


Содержание

Сообщения в этом обсуждении
"Как удалить с удаленной машины с помощью sambaclient?"
Отправлено Сергей , 03-Дек-08 18:21 
Может быть сначало через find ... -type f -exec rm {}\; поудалять файлы, а потом примерно также и папочки...

"Как удалить с удаленной машины с помощью sambaclient?"
Отправлено Алексей , 04-Дек-08 09:41 
> Может быть сначало через find ... -type f -exec rm {}\;
>поудалять файлы, а потом примерно также и папочки...

Увы, мысль в нужном направлении, но команда find не поддерживается smb, вот короткий набор
команд и все они существуют без операторов, только команда и маска, в том то и дело:
smb: \> ?
?              altname        archive        blocksize      cancel
case_sensitive cd             chmod          chown          close
del            dir            du             exit           get
getfacl        hardlink       help           history        lcd
link           lock           lowercase      ls             mask
md             mget           mkdir          more           mput
newer          open           posix          posix_open     posix_mkdir
posix_rmdir    posix_unlink   print          prompt         put
pwd            q              queue          quit           rd
recurse        reget          rename         reput          rm
rmdir          showacls       setmode        stat           symlink
tar            tarmode        translate      unlock         volume
vuid           wdel           logon          listconnect    showconnect
!