如何使用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
如何自动重启Tomcat异常的服务?

1 前言 一个问题,一篇文章,一出故事。 笔者几天前发现Tomcat会因为一个错误而停止服务,虽然进 …

Bash
如何自动挂载目录?

1 前言 一个问题,一篇文章,一出故事。 笔者需要写一个脚本定时挂载目录,但是AutoFS测试过骨兼 …

Bash
如何熟悉shell if?

1 基础知识 1.1 命令使用格式 1.2.1 获取命令帮助 man if 1.2.2 基本判断用法 …