-1

Я хочу запустить файл сценария на моем сервере, который будет искать файл расширения .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

1

1. Смонтируйте сетевой диск

Это позволит вам получить доступ к сетевому диску Windows, как если бы это была папка на вашем компьютере с Linux.

mount -t cifs //myWindowsComputer/myShareName -o username=myLogin,password=myPassword /mnt/myMountPoint
  • myWindowsComputer - это имя, с которым ваш компьютер Linux может общаться с вашим компьютером Windows. Это может быть его IP, это может быть его сетевое имя (он же Computer Name), важно то, что компьютер Linux может его найти.

  • myShareName - это имя вашей общей папки Windows, или общей папки.

  • myLogin , mypassword довольно понятны , это логин и пароль пользователя 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 , mkdir , touch ...) и копировать файлы в подпапку точки монтирования, эффективно копируя их в подпапку общего ресурса Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .