Backup de fichier avec le client SAMBA
Redaction: 20/12/2007


Man me l'a dit :), Le client samba peut se comporter comme un client FTP, c'est l'occasion de faire un peu de sheelscript
pour sauvegarder les logs d'un proxy sur un serveur windows par exemple ou un autre linux équipé de samba.


#!/bin/sh
#       Backup & Copy log to smb shared directory -  Bastien Barbe 2007
SERVER_NAME="proxysquid"
SERVER_WINDOWS="192.168.2.5"
SERVER_SHARE_FOLDER="LOGSQUID"
BACKUP_LOG_FILE="/var/log/squid/access.log"
BACKUP_FILE_NAME=$(date +%d-%m-%y)"_acces_log_squid_$SERVER_NAME.tar.gz"
TMP_FILE="/tmp/"$BACKUP_FILE_NAME

#Create log and backup it :
tar -cvzf $TMP_FILE $BACKUP_LOG_FILE
echo "====================================";
echo "Create backup file : $TMP_FILE ";
echo "====================================";
#SAMBA Command :
smbclient \\\\$SERVER_WINDOWS\\$SERVER_SHARE_FOLDER -A /etc/squid/conf_user_backup < < E O F
prompt
put $TMP_FILE $BACKUP_FILE_NAME
quit
EOF
rm $TMP_FILE


Pour fonctionner le script utilise un fichier qui contient le compte à utiliser
conf_user_backup
#!/bin/sh
username = backup
password = backup
domain   = HOME
Le script est à placer dans le repertoire cron.daily par exemple ;)




Mise en place d'un serveur de fichier SAMBA 'simple'

Dans ce tutorial je vous propose de découvrir SAMBA, Ici je m'en sert avec VMWARE sur un lecteur réseau ce qui est très pratique.

Installation et configuration du serveur sur la machine virtuel :

[root@srv2 etc]# awk '{ if ($0 != "") print $0 ;}' /etc/samba/smb.conf | grep -v "^[#;]"
[global]
workgroup = MYGROUP
server string = Samba Server
printcap name = /etc/printcap
load printers = yes
cups options = raw
log file = /var/log/samba/%m.log
max log size = 50
security = user
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[devweb]
comment = LinuxDev
path = /data/www/
valid users = root
public = no
writable = yes
printable = no

 

Ajout d'un utilisateur :

[root@tuxsrv data]# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
[root@tuxsrv data]#

Ensuite on démarre le tout : service smb start et voilà pour le serveur ;)

Sur ma machine qui héberge ma machine virtuelle je vient monter un lecteur réseau sous windows :

Et voilà mon pc windows communique avec ma machine virtuelle linux !


© Bastien Barbe 2008