Выполните "find -exec" при удаленной обработке, используя ksh - PullRequest
0 голосов
/ 08 ноября 2011

Я не уверен, принадлежит ли это суперпользователю.Прошу простить.Вот что я пытаюсь сделать.Мне нужно создать сценарий ksh, который установит ssh-соединение с удаленной машиной, найдет все файлы «.tar» по определенному пути на определенную дату и перечислит их.Затем мне нужно будет выполнить команду scp, чтобы скопировать все эти файлы .tar на сервер, на котором я выполняю сценарий ksh.Вот то, что я имею до сих пор, и это далеко не завершено ... (пожалуйста, потерпите меня ... Я очень плохо знаком с сценариями ksh).

Может ли кто-нибудь посоветовать, если я иду в правильном направлении, и дать некоторые указания относительно того, как я могу улучшить и достичь того, что я пытаюсь сделать?

Большое спасибо заранее.*

SSERVER=server1
SOURCEPATH=/tmp/test

sudo ssh $SSERVER \
find $SOURCEPATH -name "*.tar" -mtime +7 -exec ls {} \;
#will the above two statements work?
#I then need to output the ls results to a temp variable (i believe) and issue an scp on each of the files

#Copy files from SOURCEPATH to PATH
sudo scp "$SSERVER:$SOURCEPATH/$file1" /tftpboot
sudo scp "$SSERVER:$SOURCEPATH/$file2" /tftpboot

1 Ответ

0 голосов
/ 08 ноября 2011
SSERVER=server1
SOURCEPATH=/tmp/test

sudo ssh "$SSERVER" "find $SOURCEPATH -name '*.tar' -mtime +7" |
  while IFS= read -r; do
    sudo scp "$SSERVER:'$REPLY'" /tftpboot
  done
...