Em vez de:
ls /var/log/hello grep -i hello.log. | echo "" | xargs echo "" | sudo tee
Tente:
for f in /var/log/hello/*hello.log.*; do sudo truncate --size 0 "$f"; done
Para enviar isso por SSH, coloque-o em aspas simples e não em aspas duplas:
for server in $(cat c10_servers.txt); do
ssh "$server" 'for f in /var/log/hello/*hello.log.*; do sudo truncate --size 0 "$f"; done'
done
Você pode fazer isso sem o comando truncate
, mas a cotação fica mais feia:
for server in $(cat c10_servers.txt); do
ssh "$server" 'sudo sh -c '\''for f; do : > "$f"; done'\'' sudo-sh /var/log/hello/*hello.log.*'
done
Se você pode usar o SSH como root diretamente, o comando é mais simples:
for server in $(cat c10_servers.txt); do
ssh -l root "$server" 'for f in /var/log/hello/*hello.log.*; do : > "$f"; done'
done