我想运行脚本文件,将文件从当前目录移动到网络文件夹中的共享驱动器。

我想运行脚本文件,将文件从当前目录移动到网络文件夹中的共享驱动器。

我想在我的服务器中运行一个脚本文件,它将搜索 .log 扩展名文件并将其移动到网络中的共享驱动器。

你能帮我吗,因为我对此完全陌生。不过我尝试做了一些东西,但我不确定是否可行。

谢谢

iwd=/IBM/fileapp/opt/linuxscriptfileread

firstpath=$(cat $iwd/pathfile | grep path1 | awk '{print $3}')
echo  "Log Path - $firstpath"

secondpath=$(cat $iwd/pathfile | grep path2 | awk '{print $3}')
echo  "Log Path - $secondpath"

thirdpath=$(cat $iwd/pathfile | grep path3 | awk '{print $3}')
echo  "Log Path - $thirdpath"

archive1=$(cat $iwd/pathfile | grep destination1 | awk '{print $3}')
echo "Archival Log Path - $archive1"

archive2=$(cat $iwd/pathfile | grep destination2 | awk '{print $3}')
echo "Archival Log Path - $archive2"

archive3=$(cat $iwd/pathfile | grep destination3 | awk '{print $3}')
echo "Archival Log Path - $archive3"

days=$(cat $iwd/pathfile | grep retentionDays  | awk '{print $3}')
echo "Retention days are - $days"

mkdir -p $archive1/$(date +"%m-%d-%y")
mkdir -p $archive2/$(date +"%m-%d-%y")
mkdir -p $archive3/$(date +"%m-%d-%y")

find $firstpath -type f -name "*.log.*" -mtime +$days -exec mv {} $archive1/$(date +"%m-%d-%y") \;
find $firstpath -type f -name "*.log" -mtime +$days -exec mv {} $archive1/$(date +"%m-%d-%y") \;
find $secondpath -type f -name "*.log.*" -mtime +$days -exec mv {} $archive2/$(date +"%m-%d-%y") \;
find $secondpath -type f -name "*.log" -mtime +$days -exec mv {} $archive2/$(date +"%m-%d-%y") \;
find $thirdpath -type f -name "*.log.*" -mtime +$days -exec mv {} $archive1/$(date +"%m-%d-%y") \;
find $thirdpath -type f -name "*.log" -mtime +$days -exec mv {} $archive1/$(date +"%m-%d-%y") \;

echo $(date) >> $archive1/timestamp.log

答案1

1. 挂载网络驱动器

这将允许您访问 Windows 网络驱动器,就像它是 Linux 计算机上的文件夹一样。

mount -t cifs //myWindowsComputer/myShareName -o username=myLogin,password=myPassword /mnt/myMountPoint
  • myWindowsComputer是您的 Linux 计算机用来与 Windows 计算机通信的名称。它可以是它的 IP,可以是它的网络名称(又名计算机名称),重要的是Linux计算机可以找到它。

  • myShareName是您的 Windows 共享的名称,又称共享文件夹。

  • myLoginmypassword非常不言自明,它们是允许访问 Windows 计算机上的共享文件夹的 Windows 用户的登录名和密码。

  • /mnt/myMountPoint是 Linux 计算机上 Windows 共享将在其中出现的文件夹。它甚至不必位于/mnt它必须是一个空的、现有的文件夹。Windows 共享中的所有内容都将出现在此文件夹中,并且您放入此文件夹中的所有内容都将被发送到共享。


2. 复制

一旦共享被挂载,您就可以像复制常规的本地 Linux 文件夹一样进行复制:

cp /path/to/my/files/*.log /mnt/myMountPoint
  • /path/to/my/files/是您要复制的文件的路径,当然您可以删除它以仅复制当前工作目录中的文件。

  • /mnt/mymountPoint同上。


显然,您也可以在共享的挂载点使用任何命令(ls,,...)并将文件复制到挂载点的子文件夹中,从而有效地将它们复制到 Windows 共享的子文件夹中mkdirtouch

相关内容