Use python and bash to copy file to samba shared folder
How to mount a samba share folder using command line
mount in Linux is the act of associating a file system (a disk, partition, folder…) to a location in the directory tree (a folder) for that file system can be accessible.
Create a folder for mount point
mkdir /home/<user>/mnt
Install cifs-utils package to be able to mount a smb share.
sudo apt install cifs-utils
The mount command with -t and -o will require sudo power.
sudo mount -t cifs -o username=<username>,password=<username>,vers=1.0 //<ip_adress>/samba_shared_folder/ /home/<user>/mnt
If all the above is a success, it means you can mount a samba shared folder manually using the command line.
Add a fstab entry
To make the mount command not require sudo power, we have to add this entry to fstab.
//192.168.1.242/removable_sdcard/ /home/dat/mnt cifs username=<username>,password=<username>,noauto,user,vers=1.0 0 0
Reboot the system and test it with
mount /home/<user>/mnt
```shell
The shared folder should be mounted.
To unmount manually, note that it is umount, not unmount:
umount /home/<user>/mnt
Use python script
I tend to use a python script mixed with bash commands these days instead of pure bash script as I find it is easier.
The python script needs os and shutil modules. You should install it if you have not had.
Here is mine script:
#!/usr/bin/python3
import os
from shutil import copy
if not os.path.ismount("/home/dat/mnt"):
print("not yet, mounting...")
os.system("mount /home/dat/mnt")
else:
print("mounted")
print("copying...")
copy('/home/dat/Downloads/readThis.md', "/home/dat/mnt/")
print("done!")
Leave a comment