如何使用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

没有评论

发表回复

Bash
如何收集活跃的RHDS客户端IP地址?

1 前言 一个问题,一篇文章,一出故事。 笔者最近接到需要收集RHDS服务活跃的IP地址的工作任务, …

Bash
如何用Tigase监控postfix smtp服务?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中的smtp服务器最近因为负载均衡器的路由故障而导 …

Bash
如何用Tigase监控Elasticsearch集群?

1 前言 一个问题,一篇文章,一出故事。 笔者生产中有一套Elasticsearch集群,笔者为了能 …