检测是否安装了 (NTFS) 驱动器。如果没有,则安装它

vas*_*uvi 6 linux shell automounting mount

我想将 USB 驱动器与位于引导时未安装的 NTFS 分区上的文件夹同步。我找到了一个命令来做到这一点:rsync -axu /media/USB/folder /home/user/folder。但是我必须已经安装了 NTFS 驱动器。

如何通过脚本检测 NTFS 驱动器是否已挂载,以及是否不挂载?我使用 Linux(Ubuntu)。

这是在您的帮助下修改的小脚本(原文在这里)!

#!/bin/bash
## CONFIG SECTION
MOUNT_DRIVE=/dev/disk/by-id/scsi-SATA_Hitachi_HTS5416_SB3404GRGJRKBS-part5
MOUNT_POINT=/media/Windows/
# Local folder to sync with
SYNC_LOC=/media/Windows/vasia/Disertatie/
# Device folder to sync with
SYNC_DEV=Disertatie
#
## SCRIPT SECTION
#verify if the drives are mounted
if mount | grep -q "/media/Windows/"; then
#device is mounted
echo "Windows NTFS Drive is mounted!"
else
#device is not mounted,let's mount it
mount $MOUNT_DRIVE $MOUNT_POINT
fi
# Wait for thumbdrive to settle
sleep 10
# Synchronize thumbdrive with local
rsync -axu /media/DISK_IMG/${SYNC_DEV}/ ${SYNC_LOC}/
# Synchronize local with thumbdrive
#rsync -axu ${SYNC_LOC}/ /media/disk/${SYNC_DEV}/
# Inform user that synchronization is complete.
zenity --title "Thumbdrive Sync" \
       --info --text "File synchronization        complete."
Run Code Online (Sandbox Code Playgroud)

Raf*_*ger 2

关于如何做到这一点,还有另一种解决方案。您可以在NTFS文件系统中创建一个文件,然后检查该文件是否存在。对于您的情况,其他解决方案可能更好。但是,如果您需要检查 NFS 或 SMB 文件系统是否已挂载,有时最好检查文件,因为您希望确保它不仅已挂载,而且还可以访问。然后你会这样做:

if [ ! -f /your/mounted/fs/mount-check.txt ];
then
    echo "Here you have to put your mount command."
fi
Run Code Online (Sandbox Code Playgroud)