如何使用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
如何用Tigase监控Elasticsearch集群?

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

Bash
如何用Base Shell获取ES集群状态?

1 前言 一个问题,一篇文章,一出故事。 笔者想要通过Base Shell获取Elasticsear …

Bash
如何熟悉grep命令?

截取括弧“()”中的字符串, echo “This is a test (sample string …