编写Plex数据备份Bash脚本遇问题:服务未识别及路径报错
Plex备份脚本问题排查
问题1:终端手动启停Plex服务正常,脚本中无法识别
- 权限不足:手动操作时你可能加了
sudo,但运行脚本时没加sudo。服务启停需要root权限,直接运行脚本会因权限不够无法识别plexmediaserver服务。解决:用sudo ./plexBackup.sh运行脚本。 - 环境变量PATH差异:终端交互式shell的PATH包含系统命令路径,但脚本运行的非交互式shell可能PATH不完整。比如
systemctl或service命令的路径不在脚本的PATH里,导致找不到命令。解决:在脚本里写命令的绝对路径,比如用/usr/bin/systemctl stop plexmediaserver代替systemctl stop plexmediaserver。 - 服务名拼写错误:检查脚本里的服务名是否和终端里一致,比如确认终端里用的是
plexmediaserver还是简写(比如plex),脚本里必须完全匹配。
问题2:/plexdata路径正确,压缩时提示未匹配
- 权限不足:脚本运行用户没有
/plexdata目录的读取权限,手动操作时用了sudo拥有权限,脚本没加的话无法访问该路径下的文件。解决:加sudo运行脚本,或者给脚本运行用户赋予/plexdata的读取权限。 - 路径未加引号:如果
/plexdata路径包含空格或特殊字符(比如括号),脚本里没给路径加引号会导致tar命令解析错误。解决:把路径用单引号或双引号包起来,比如tar czf backup.tar.gz "/plexdata"。 - tar命令参数顺序错误:tar命令的参数顺序要求输出文件(
backup.tar.gz)放在源路径前面,要是写反了会把参数当成路径处理,导致匹配失败。比如错误写法:tar /plexdata czf backup.tar.gz,正确写法:tar czf backup.tar.gz /plexdata。 - 路径实际状态异常:虽然你认为路径正确,但脚本运行时可能该目录临时挂载失效,或者目录下没有文件。可以在脚本里加一行
ls -l /plexdata验证是否能正常列出文件。
内容的提问来源于stack exchange,提问作者dragonmash1215
相关产品推荐
相关产品推荐

