over 3 years ago

記錄一下,目前使用到 xargs 的方式

對於 multiple host 的使用

  • 在 SEG 中,常常會需要對 multiple host 進行操作
    • $ sudo xargs -a host_list.ini -I{} ssh {} "hostname;date"
    • 其中 {} 的值,會使用 host_list.int 中的每一筆值,進行 replace
    • host_list 範例
      $  cat ./host_list.ini
      host1.sjc1
      host2.sjc1
      host3.sjc1
      

搭配 scp 多個檔案的方式

  • 將資料使用多行的方式進行
    • $ svn st | awk '{print $2}' | xargs -d\n -I{} scp {} my_name@my_server:~/
  • 使用 for loop 的方式
    • $ for file in $(svn st | awk '{print $2}'); do scp $file my_name@my_server: ; done
  • 使用 zip 的方式 (新版的 xargs)
    • $ svn st | awk '{print $2}' | xargs -iz scp z my_name@my_server:

Trouble shooting

  • 有時候,執行 xargs -a 時,會出現 "Name or service not known" 的訊息
    • 會出現異常是因為, if there are any filenames containing newlines or spaces
← joomla 相關記錄 移除不想要的開機啟動程式 - windows →