如何使用Bash上传Samba?

Bash

1 前言

一个问题,一篇文章,一出故事。
笔者有一台samba服务器并设置共享目录,共享目录允许授权用户去读写,笔者想通过脚本实现文件非挂载式上传,于是整理本章节。

2 最佳实践

2.1 安装客户端软件包

yum install -y samba-client cifs-utils

2.2 配置认samba服务端认证文件

vim /etc/samba/.smbpw

设置以下认证信息,

username = domain username
password = domain assword
domain = example.com

然后,你需要修改认证文件的权限使之更安全,

chmod 600 /etc/samba/.smbpw

2.3 创建文件上传脚本

mkdir -p ~/scripts/
vim ~/scripts/pushFile.sh

加入如下脚本,

#!/bin/bash

smbpwd='/etc/samba/.smbpw' #Authentication file
localDIR='/etc' #Local working directory
putPath='//10.168.0.250/putDIR' #Samba service path
putSubDIR='.' #Samba service sub folder
putFile="redhat-release" #Put file path

cd $localDIR

/usr/bin/smbclient -A "$smbpwd" "$putPath" -c "lcd $localDIR; cd $putSubDIR; put $putFile"

2.4 测试脚本

bash ~/scripts/pushFile.sh

2.5 设置脚本触发

crontab -e

加入如下触发规则,

*/5 * * * * bash ~/scripts/pushFile.sh

参阅文档
================
https://www.samba.org/samba/docs/current/man-html/smbclient.1.html

没有评论

发表回复

Samba
如何设置Samba的日志级别?

1 前言 一个问题,一篇文章,一出故事。 笔者遇到生产中的客户端连接服务器需要开启调试日志,于是整理 …

Samba
如何让Samba兼容XP系统?

1 前言 一个问题,一篇文章,一出故事。 笔者遇到生产的XP无法连接高版本samba服务事宜,于是整 …

Bash
如何实现文件夹路径转纯数字符串?

1 前言 一个问题,一篇文章,一出故事。 由于由于需要设置某目录的配额,配额要求为每个目录指定一个项 …