歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> linux共享windows文件並自動化改變文件編碼,linuxwindows

linux共享windows文件並自動化改變文件編碼,linuxwindows

日期:2017/3/3 18:10:19   编辑:學習Linux

linux共享windows文件並自動化改變文件編碼,linuxwindows

linux共享windows文件並自動化改變文件編碼,linuxwindows


以k3日志為例:

  在k3的數據庫服務器進行如下操作:

  1、在k3的數據庫服務器導出日志數據到本地D:/K3LOG下(腳本自動化執行)

  2、設置腳本定時任務每天拷貝D:/K3LOG下的文件到D:/K3LOG_BAK

    EOF

      set filename=D:\test\del.log

      echo (%date% %time%)>>%filename%

      d:

      cd D:\K3LOG

      forfiles /d -l /c "cmd /c del @path" //刪除一天以前的日志,保留前一天的就好

      forfiles /c "cmd /c copy @path D:\K3KOG_BAK" //把每一天生成的文件拷貝到K3LOG_BAK

      forfiles /d -7 /c "cmd /c del D:\K3LOG_BAK" //刪除七天以前的備份文件

      echo end >>%filename%

    EOF

  在linux上操作:

  1、一般windows服務器上的磁盤會以共享的方式分享出來(最常用的Samba,簡單可以自己搞)

  2、直接mount windows的共享文件

    #mount -t cifs -o username=用戶,domain=域名,password=密碼 //IP/D$/K3LOG /home/mount_k3log

    注意以下幾點:linux安裝cifs.util,密碼不能有逗號(有的話要不寫入文件要不不要再命令行輸密碼,回車之後再輸入密碼),D$是共享磁盤,K3LOG是磁盤上的文件,我只需要這個文件就只分享此文件。

    如果經常需要重新啟動文件則這條命令寫入/etc/fstab設置成開機自啟

  3、設置定時任務shell腳本  

    EOF

   #!/bin/bash

     for i in `find /home/mount_k3log -name '*.log'`

       do echo $i

       iconv -f GB2312 -t UTF-8 $i -o /home/K3LOG/`date -d "yesterday" +"%Y%m%d"`.log

     done

     find /home/K3LOG/ -mtime +6 -name "*.log" -exec rm -rf {} \;

     echo "`date` + success" >> /home/shell/k3.log

 EOF

   其實不用上邊這麼麻煩,這個腳本是批量操作,但是我們原始文件每天只有一個文件,只需要幾條命令就可以完成。

    EOF

   #!/bin/bash

   iconv -f GB2312 -t UTF-8 /home/mount_k3log/*.log -o /home/K3LOG/`date -d "yesterday" +"%Y%m%d"`.log

     find /home/K3LOG/ -mtime +6 -name "*.log" -exec rm -rf {} \;

     echo "`date` + success" >> /home/shell/k3.log

    EOF

  4、每天定時執行腳本 

    EOF

      0 2 * * * /home/shell/k3_copy.sh &>> /var/log/cront.log

    EOF

http://xxxxxx/Linuxjc/1164654.html TechArticle

Copyright © Linux教程網 All Rights Reserved