【发布时间】:2019-12-22 23:33:26
【问题描述】:
所以我正在尝试向我的 minecraft 服务器添加自动备份,并且我正在使用一个 bash 脚本来自动保存世界并将其放入云存储中。每当我运行脚本时,我都会收到此错误:
raise error, v # 无效表达式 sre_constants.error: 错误的字符范围
听说是 Python 2.7 的问题后,我已经安装了 Python 3,并且脚本运行 2.7 时仍然出现同样的错误。
Python 版本:2.7.13(使用)和 3.5.3。 Debian Linux
bash 脚本:
#!/bin/bash
screen -r mcs -X stuff '/save-all\n/save-off\n'
/usr/bin/gsutil cp -R ${BASH_SOURCE%/*}/world gs://[terits-smp-minecraft-minecraft-backup]/$(date "+%Y%m%d-%H%M%S")-world
screen -r mcs -X stuff '/save-on\n'
完整的调试日志:
Traceback (most recent call last):
File "/usr/lib/google-cloud-sdk/platform/gsutil/gsutil", line 21, in <module>
gsutil.RunMain()
File "/usr/lib/google-cloud-sdk/platform/gsutil/gsutil.py", line 124, in RunMain
sys.exit(gslib.__main__.main())
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 433, in main
user_project=user_project)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 762, in _RunNamedCommandAndHandleExceptions
_HandleUnknownFailure(e)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 628, in _RunNamedCommandAndHandleExceptions
user_project=user_project)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 411, in RunNamedCommand
return_code = command_inst.RunCommand()
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1162, in RunCommand
copy_helper_opts.daisy_chain,
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/name_expansion.py", line 650, in __init__
name_expansion_dest_tuple = next(self.name_expansion_dest_iter)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1093, in _ConstructNameExpansionIteratorDstTupleIterator
logger=self.logger))
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 1419, in ExpandUrlToSingleBlr
logger=logger))
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 161, in __iter__
for bucket_listing_ref in self._ExpandBucketWildcards(bucket_fields=['id']):
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/wildcard_iterator.py", line 389, in _ExpandBucketWildcards
prog = re.compile(regex)
File "/usr/lib/python2.7/re.py", line 194, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.7/re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: bad character range
到目前为止,我一直在使用本指南来帮助我,因为我对谷歌云不太了解: https://cloud.google.com/solutions/gaming/minecraft-server#schedule_backups
【问题讨论】:
-
这里
error和v的值是多少? -
"${BASH_SOURCE%/*}" 的计算结果是什么?
标签: google-app-engine google-cloud-platform google-cloud-storage