本文目录导读:

我来帮你写一个在开机时自动挂载网络硬盘的脚本,这里提供几种常见网络存储协议的脚本方案。
SMB/CIFS 协议(Windows共享)脚本
#!/bin/bash
# 自动挂载SMB网络硬盘脚本
# 保存为:/usr/local/bin/mount_network.sh
# 配置信息
MOUNT_POINT="/mnt/network_drive"
NETWORK_SHARE="//192.168.1.100/shared_folder"
USERNAME="your_username"
PASSWORD="your_password"
DOMAIN="WORKGROUP" # Windows域,可选
# 检查是否已挂载
if mountpoint -q "$MOUNT_POINT"; then
echo "网络硬盘已挂载"
exit 0
fi
# 创建挂载点(如果不存在)
if [ ! -d "$MOUNT_POINT" ]; then
mkdir -p "$MOUNT_POINT"
fi
# 尝试挂载
mount -t cifs "$NETWORK_SHARE" "$MOUNT_POINT" \
-o username=$USERNAME,password=$PASSWORD,domain=$DOMAIN,\
uid=1000,gid=1000,iocharset=utf8,file_mode=0755,dir_mode=0755
# 检查挂载结果
if [ $? -eq 0 ]; then
echo "成功挂载网络硬盘到 $MOUNT_POINT"
else
echo "挂载失败,请检查网络连接和配置"
exit 1
fi
NFS 协议脚本
#!/bin/bash
# 自动挂载NFS网络硬盘脚本
# 保存为:/usr/local/bin/mount_nfs.sh
# 配置信息
MOUNT_POINT="/mnt/nfs_share"
NFS_SERVER="192.168.1.100:/exported/path"
NFS_OPTIONS="rw,hard,intr,rsize=8192,wsize=8192,timeo=14"
# 检查是否已挂载
if mountpoint -q "$MOUNT_POINT"; then
echo "NFS共享已挂载"
exit 0
fi
# 创建挂载点(如果不存在)
if [ ! -d "$MOUNT_POINT" ]; then
mkdir -p "$MOUNT_POINT"
fi
# 尝试挂载
mount -t nfs -o "$NFS_OPTIONS" "$NFS_SERVER" "$MOUNT_POINT"
if [ $? -eq 0 ]; then
echo "成功挂载NFS共享到 $MOUNT_POINT"
else
echo "NFS挂载失败,请检查NFS服务是否运行"
exit 1
fi
通过fstab自动挂载(推荐方法)
编辑 /etc/fstab 文件,添加以下内容:
SMB/CIFS 示例
# 格式://服务器/共享路径 /挂载点 cifs 挂载选项 0 0 //192.168.1.100/shared /mnt/network_drive cifs username=your_username,password=your_password,uid=1000,gid=1000,iocharset=utf8,file_mode=0755,dir_mode=0755 0 0
NFS 示例
# 格式:服务器:导出路径 /挂载点 nfs 挂载选项 0 0 192.168.1.100:/exported/path /mnt/nfs_share nfs rw,hard,intr,rsize=8192,wsize=8192,timeo=14 0 0
设置开机自启动
方法1:使用systemd服务
创建服务文件 /etc/systemd/system/mount-network.service:
[Unit] Description=Mount Network Drive After=network-online.target Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/bin/mount_network.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target
启用服务:
sudo systemctl enable mount-network.service sudo systemctl start mount-network.service
方法2:使用rc.local(传统方法)
编辑 /etc/rc.local 文件:
#!/bin/bash # 开机自动挂载网络硬盘 # 等待网络就绪 sleep 10 # 执行挂载脚本 /usr/local/bin/mount_network.sh exit 0
安全考虑
使用密钥文件替代密码(更安全)
创建凭据文件 /etc/samba/credentials:
username=your_username password=your_password domain=WORKGROUP
设置权限:
sudo chmod 600 /etc/samba/credentials
在fstab中使用:
//192.168.1.100/shared /mnt/network_drive cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,iocharset=utf8 0 0
使用步骤
- 选择适合的脚本(根据你的网络存储类型)
- 修改配置信息(IP地址、用户名、密码等)
- 安装必要软件包:
# 对于SMB sudo apt-get install cifs-utils # 对于NFS sudo apt-get install nfs-common
- 设置脚本执行权限:
chmod +x /usr/local/bin/mount_network.sh - 配置开机自启动
- 测试运行
故障排除
- 检查网络连接:
ping 192.168.1.100 - 查看系统日志:
journalctl -xe - 手动测试挂载:
sudo mount -a - 检查防火墙设置
请根据你的具体网络存储类型和配置修改相应的参数,如果遇到问题,请提供具体的错误信息以便进一步诊断。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播