การคงขนาดของไฟล์เมื่อถ่ายโอนไฟล์โดยอัตโนมัติ


0

ฉันมีเซิร์ฟเวอร์ FTP ที่ผู้ใช้อัปโหลดเพลงหรือพูดคุยกับโปรแกรม ฉันมีเซิร์ฟเวอร์ที่จะดำเนินการโดยอัตโนมัติตามเวลาที่กำหนดไว้คว้าไฟล์เหล่านี้ในบางไดเรกทอรี หนึ่งในปัญหาที่เราประสบคือไฟล์ยังคงสามารถอัปโหลดได้เมื่อเซิร์ฟเวอร์คว้าไฟล์ มีวิธีหลีกเลี่ยงปัญหานี้หรือไม่?

ฉันค่อนข้างแน่ใจว่าเป็นเพราะการอัปโหลดเป็น FTP และ windows ใช้ smb สิ่งที่ฉันทำในช่วงเวลานั้นคือการใช้คอมพิวเตอร์ระหว่างเซิร์ฟเวอร์ FTP และเซิร์ฟเวอร์เสียงควรจะดำเนินต่อไปและวางซอฟต์แวร์มิเรอร์ฟรีไว้ มันช่วยบรรเทาปัญหาบางประการ แต่ไม่น่าเชื่อถือ

คำตอบ:


0

ฉันเคยใช้สคริปต์ PowerShell เพื่อทำสิ่งนี้ให้สำเร็จ Move-Itemคำสั่งจัดการที่ดีนี้ สร้างการวนซ้ำที่ค้นหาไฟล์และบอกให้ย้ายสิ่งที่พบ

while ($true) {
    Get-ChildItem $SourcePath | Move-Item -Destination $destPath -Force
    Sleep 5
}

ฉันตั้งค่า PS Script ให้ทำงานใน Task Scheduler เมื่อเริ่มต้น มันจะยากขึ้นเล็กน้อยเมื่อย้ายไปใช้เครือข่ายร่วมกันเนื่องจากได้รับอนุญาต แต่ YMMV

คุณสามารถกรองสิ่งที่คุณต้องการย้ายได้ ตัวอย่างนี้จะไม่ย้ายโฟลเดอร์:

Get-ChildItem $SourcePath | Where {!$_.psiscontainer} | Move-Item -Destination $destPath -Force

ขอขอบคุณสำหรับการตอบสนองของคุณ. ฉันยังใหม่กับพาวเวอร์เชล ฉันไม่ได้คิดถึงการวนรอบ ฉันชอบความคิดของการเคลื่อนไหวด้วย แต่ฉันกังวลเกี่ยวกับแง่มุมของ FTP ถ้าฉันมีไฟล์ขนาดใหญ่มันจะย้ายมันในการถ่ายโอนกลาง? การย้ายที่มี powershell แตกต่างจากคำสั่ง move ใน command prompt หรือไม่
Geerdes

นอกจากนี้ฉันกำลังพยายามดูว่าการเคลื่อนไหวสามารถเกิดซ้ำได้เหมือนกระจกหรือไม่ PowerShell สามารถทำมิเรอร์และลบแหล่งที่มาได้หรือไม่?
Geerdes

@Geerdes ฟังก์ชั่นการย้ายเช่นคัดลอกแล้วลบแหล่งที่มา หากการคัดลอกล้มเหลวการลบก็จะล้มเหลวเช่นกัน นอกจากนี้เนื่องจากการล็อกไฟล์ไฟล์จะไม่ย้ายจนกว่า FTP จะเสร็จสิ้น เราประสบความสำเร็จในการถ่ายโอนที่มีขนาดใหญ่มากและช้า (> 5GB สูงสุด 3 ชั่วโมง) ผ่านการเชื่อมโยงที่ช้าด้วยวิธีนี้
duct_tape_coder

@Geerdes หากต้องการย้ายซ้ำให้เพิ่มพารามิเตอร์ -recursive ลงในคำสั่ง Get-ChildItem
duct_tape_coder

ดังนั้นการเวียนเกิดซ้ำจะใช้งานได้หรือไม่ ฉันดีใจจริงๆที่ได้ยินว่ามันรอให้ FTP เสร็จสิ้น
Geerdes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.