pi@raspberrypi ~ $ sudo apt-get install ntfs-3g
pi@raspberrypi ~ $ sudo fdisk -l
Disk / dev / sda: 2000.4 GB, 2000398931968 bytes
255 heads, 63 sectors / track, 243201 cylinders, total 3907029164 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical / physical): 512 bytes / 512 bytes
I / O size (minimum / optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006573a
Device Boot Start End Blocks Id System
/ dev / sda1 2048 409602047 204800000 83 Linux
/ dev / sda2 409602048 419842047 5120000 82 Linux swap / Solaris
/ dev / sda3 419842048 3907028991 1743593472 7 HPFS / NTFS / exFAT
pi@raspberrypi ~ $ sudo nano /etc/samba/smb.conf
[global] workgroup = WORKGROUP server string = RPi Fileserver netbios name = fileserver dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d encrypt passwords = true passdb backend = smbpasswd obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssucce$ pam password change = yes map to guest = bad user #======================= Share Definitions ======================= [ExternalHDD] comment = HDD Seagate Expansion External 2Tb path = /media/DataR writable = yes printable = no guest ok = yes read only = no
pi@raspberrypi ~ $ sudo umount /media/DataR pi@raspberrypi ~ $ sudo mount /dev/sda3 /media/DataR pi@raspberrypi ~ $ sudo /etc/init.d/samba restart
pi@raspberrypi ~ $ nano shrdsk.py
import socket as s # from time import sleep # from os import system # from errno import * #
while 1: sock=s.socket(s.AF_INET,s.SOCK_STREAM) # try: sock.connect(('192.168.0.14',1001)) # , IP , system('mount /dev/sda3 /media/DataR') # , system('/etc/init.d/samba restart') # except socket.error, v: # , 2 : if v[0]==ECONNREFUSED: # 1 - IP , ( !) system('mount /dev/sda3 /media/DataR') # system('/etc/init.d/samba restart') # else: # 2 - IP system('umount /media/DataR') # system('/etc/init.d/samba stop') # sock.close() # sleep(60) # 60
# Coding: utf8 # Author: HeffCodeX # Version: 1.0 # !!!!!!!!!!!!!!!!!!!! # !START ME WITH ROOT! # !!!!!!!!!!!!!!!!!!!! ### # socket config: HOST='192.168.0.14' # host to detect PORT=1001 # any random port WAITING=60 # time to wait between connections (in secs) ### # mount config: MOUNT=1 # do mount/umount (1/0) DEV='sda3' # device (without "/dev/") DIR='/media/DataR' # directory to mount ### import socket as s from time import sleep from os import system from errno import * while (1): sock=s.socket(s.AF_INET,s.SOCK_STREAM) try: print "connecting..." sock.connect((HOST,PORT)) print "socket ok" if MOUNT: print "mount device" system("mount /dev/%s %s"%(DEV,DIR)) print "samba restart:" system("/etc/init.d/samba restart") except s.error, v: print "socket err" if v[0]==ECONNREFUSED: if MOUNT: print "mount device" system("mount /dev/%s %s"%(DEV,DIR)) print "samba restart:" system("/etc/init.d/samba restart") else: if MOUNT: print "umount device" system("umount %s"%DIR) print "samba stop:" system("/etc/init.d/samba stop") sock.close() print "waiting..." sleep(WAITING)
pi@raspberrypi ~ $ sudo nano /etc/rc.local
su pi -c "python /home/pi/shrdsk.py"
Source: https://habr.com/ru/post/191760/
All Articles