我想弄清楚是否可以設置一個cron作業,將所有文件從我的服務器上的一個文件夾轉移到另一個文件夾,然後從另一個文件夾中獲取一定數量的文件(隨機選擇的文件),並將它在原始文件夾中。如果是這樣的提示,我完全沒有使用cron的經驗,我只是不想用ftp登錄並手動進行傳輸。用cron傳輸文件?
回答
cron是非常簡單的,所有它做的是在一天的指定時間運行您選擇的命令。
在你的情況下,你可能想編寫一個使用rsync,scp或ftp傳輸文件的shell腳本,確保成功退出(檢查退出代碼,存儲在$?變量中),然後移動將該組文件放入原始文件夾中。
我會通過ssh密鑰使用rsync和無密碼身份驗證。這對安全性很好,如果你願意,你甚至可以限制接收端只允許ssh密鑰運行rsync的服務器端。
如果這個腳本稱爲/opt/scripts/myscript.sh,並且要每10分鐘運行一次,以下內容添加到你的crontab(運行crontab -e命令來編輯你的crontab):
*/10 * * * * /opt/scripts/myscript.sh
請記住,您在shell中可用的環境變量與cronjob運行時可用的環境變量不同,因此PATH等可能不同。這通常會導致cron作業在您運行它們的前幾次失敗(請參閱我的有關cron作業的法律:http://efod.se/blog/archive/2010/02/19/forsbergs-law-on-cron-jobs :-))。 cron的任何輸出都通過郵件發送給運行cron作業的用戶,這對調試很有幫助。簡單的調試將消息寫入/ tmp /中的某個文件通常也是讓您的cron作業運行的一種方式。
在許多情況下,以特殊用戶身份運行cron作業是有意義的。不要以root用戶身份運行cron作業,除非他們絕對必須擁有root用戶訪問權限,否則最好將特殊用戶作爲只在文件系統中具有有限權限的特殊用戶運行。
您可以使用cron和rsync要做到這一點:
http://www.linux.com/news/enterprise/storage/8200-back-up-like-an-expert-with-rsync
要編輯的cron文件:
crontab -e
傳輸文件看起來像一個示例項:
30 3 * * * rsync -av School/* [email protected]:~/School/ >| /home/username/CronLogs/school_update
這些字段包括:分鐘,小時,日,月,星期幾,命令 所以在我的示例中,我通過執行列出的rsync命令每天在凌晨3:30傳輸文件。請注意*標記爲未使用的字段。
對於一個快速參考/教程,請參閱:this link
- 1. Cron作業輸出文件
- 2. 使用Cron進行安全文件傳輸
- 3. cron作業正在運行中文件傳輸
- 4. php cron作業文件上傳到ftp
- 5. 文件傳輸
- 6. 文件傳輸
- 7. 使用python傳輸文件
- 8. 使用FTP傳輸文件
- 9. 文件傳輸用蟒
- 10. 使用c#傳輸文件
- 11. 使用TCP傳輸文件
- 12. 使用FTP傳輸文件
- 13. 使用WCF傳輸文件
- 14. 使用cron-job將python輸出到文本文件
- 15. 從cron作業傳輸json對象
- 16. 上傳使用PhoneGap的文件傳輸
- 17. 傳輸文件流
- 18. Android,文件傳輸
- 19. Python文件傳輸
- 20. B2B文件傳輸
- 21. Zend文件傳輸
- 22. 文件傳輸/ WCF
- 23. 文件傳輸RMI
- 24. C++文件傳輸
- 25. iPhone文件傳輸
- 26. Java文件傳輸
- 27. PHP文件傳輸
- 28. ASP.Net傳輸文件
- 29. 傳輸文件網
- 30. 傳輸文件C