ใช่ นั่นเป็นพฤติกรรมที่ตั้งใจไว้ของ grsync, rsync ฯลฯ และเครื่องมือสำรองข้อมูลอื่นๆ อีกมากมาย และเป็นความรับผิดชอบของผู้ใช้ในการตรวจสอบว่าไดรฟ์ข้อมูลถูกเมานต์แล้วก่อนที่จะเรียกใช้เครื่องมือเหล่านี้ (ตามที่คุณกล่าวถึง) คุณสามารถสร้างสคริปต์ที่รันคำสั่ง grsync แทนการรันคำสั่งโดยตรง จากนั้นใส่คำสั่งบางคำสั่งเพื่อตรวจสอบว่าไดรฟ์ข้อมูลถูกเมานต์หรือไม่ก่อนที่จะรันคำสั่ง grsync (หรือเพียงแค่รันคำสั่งตรวจสอบการเมาต์ด้วยตนเอง ซึ่งก็ใช้ได้เช่นกัน) สิ่งนี้อาจใช้งานได้:
ซีดี /บ้าน/ชื่อผู้ใช้/
สคริปต์ mkdir
สคริปต์ซีดี
นาโน grsyn.sh
sudo chmod 750 grsync.sh
นาโน grsync.sh
จากนั้นในไฟล์ที่เปิดในโปรแกรมแก้ไขข้อความนาโน ให้คัดลอกและวางและปรับสคริปต์นี้ตามความต้องการของคุณ:
ถ้า grep -qs '/mnt/backup' /proc/mounts; แล้ว
echo "ฉันจะดำเนินการต่อด้วย grsync เพราะโวลุ่มพร้อมแล้ว"
grsync [ป้อนคำสั่ง/แฟล็กของคุณที่นี่]
อื่น
echo "โวลุ่มไม่พร้อม ฉันจึงไม่ได้เรียกใช้ grsync"
ไฟ
คุณสามารถเรียกใช้สคริปต์ด้วยตนเองโดยไปที่ไดเร็กทอรีของสคริปต์และพิมพ์ ./grsync.sh
. เดอะ ถาม
การตั้งค่าสถานะเป็นตัวเลือกและสามารถลบออกได้ขึ้นอยู่กับการตั้งค่าของผู้ใช้ คุณสามารถสร้างงาน cron เพื่อเรียกใช้สคริปต์นี้ได้ดังต่อไปนี้:
sudo crontab -e
ด้านล่างรายการสุดท้าย ให้คัดลอก/วางและปรับเปลี่ยนสิ่งต่อไปนี้ตามความต้องการของคุณ:
0 8 * * * /bin/bash /home/ชื่อผู้ใช้/สคริปต์/ >> /home/username/grsync.log
สคริปต์นี้จะรันคำสั่ง grsync ที่คุณต้องการทุกวัน เวลา 8.00 น.
ผู้ใช้ใหม่และ/หรือเวิร์กโฟลว์ที่ซับซ้อนน้อยกว่าอาจต้องการเพียงการตรวจสอบง่ายๆ และในกรณีนั้น การป้อนคำสั่งเดียวที่คอนโซลจะง่ายที่สุด. ในการทำเช่นนั้น ให้ใช้ไวยากรณ์ grep ด้านบน แต่อย่าลืมใช้ ถาม
ตั้งค่าสถานะเพื่อให้ผลลัพธ์พิมพ์ไปยังเอาต์พุตมาตรฐาน:
grep -s '/mnt/backup' /proc/mounts
สิ่งนี้จะพิมพ์ผลลัพธ์ที่คล้ายกันนี้หากมีการเมานต์โวลุ่ม:
/dev/sdb /mnt/backup ext4 rw,nosuid,nodev,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0
หากคุณไม่ได้รับเอาต์พุตใดๆ และตราบใดที่สตริง grep ของคุณถูกต้อง แสดงว่ามีแนวโน้มว่าจะไม่ได้เมาต์โวลุ่ม สุดท้ายนี้ ถ้าคุณต้องการสิ่งนี้ รวมอยู่ในส่วนหน้าแบบกราฟิกของ grsync แทนที่จะจัดการที่บรรทัดคำสั่งจากนั้นเพียงป้อนคำสั่งด้วยตนเองลงใน ตัวเลือกพิเศษ / ดำเนินการคำสั่งนี้ก่อน rsync / หยุดเมื่อล้มเหลว.