我是bash和shell的新手,但我正在运行debian安装,我正在尝试创建一个脚本,可以在过去找到日期而无需安装任何其他软件包.从教程我到了这个阶段:
#!/bin/sh
#
# BACKUP DB TO S3
#
# VARIABLES
TYPE="DATABASE"
DAYS="30"
# GET CURRENT DATETIME
CURRENTDATE="$(date +%Y%m%d%H%M%S)"
# GENERATE PAST DATE FROM DAYS CONTSTANT
OLDERDATE=`expr $CURRENTDATE - $DAYS'
# CALL PYTHON SCRIPT WITH OLDERDATE ARGUMENT
python script.py $OLDERDATE
Run Code Online (Sandbox Code Playgroud)
我被卡住的地方是我的"天"只是数字30并且没有日期时间格式化,所以当我从当前日期变量减去它时,它显然是不兼容的.
是否有人能够帮助我找到一种方法让它按预期工作?
使用Amazon SWF在服务器之间传递消息?
我正在努力研究如何组合使用Boto和SWF来做到这一点.我不是在完成一些完整的代码之后,但我所追求的是,如果有人能够更多地解释所涉及的内容.
正如你所看到的,我对这一切真的很困惑,如果有人可以对此有所了解,我会非常感激.
我的文本区域下面有额外的填充,但我似乎无法找到它的来源.我已将个别代码放在此页面上:
我似乎无法找到它的来源.它有类"字段":
.field { background-color: white; width: 430px; padding: 10px; font-family:arial, sans-serif; border: 1px solid #CCC; border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px; }
Run Code Online (Sandbox Code Playgroud)
任何输入(双关语)将不胜感激:)
在我的shell脚本中,我运行此命令:
python script.py
Run Code Online (Sandbox Code Playgroud)
我想知道,作为一个两部分问题:
我如何编程我的python脚本将状态传递回运行它的shell脚本,具体取决于python脚本中发生的情况.例如,如果python脚本出现问题,则退出时将代码1发送回shell.
如何让我的shell脚本读取python的退出代码并退出以获取错误?例如,除了0之外的任何状态代码然后退出.
我运行了一个部署脚本来以root身份设置我的服务器.然后我尝试运行另一个名为test.sh的脚本,其中包含以下行:
# Logging
exec > >(tee -a /var/log/test_full.log)
exec 2> >(tee -a /var/log/test_error.log)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这个时,我收到以下错误:
test.sh: 19: test.sh: Syntax error: redirection unexpected
Run Code Online (Sandbox Code Playgroud)
您认为可能导致此问题的原因是什么?我之前没有听说过这个错误.
当我尝试运行我的烧瓶应用程序时,我收到错误:
uwsgi no module named site
Run Code Online (Sandbox Code Playgroud)
我创建了一个配置文件:
[uwsgi]
socket = 127.0.0.1:8000
processes = 4
virtualenv = /var/www/test/venv
chdir = /var/www/test
module = run
callable = manager
logto = var/www/uwsgi.log
Run Code Online (Sandbox Code Playgroud)
我的run.py的位置是/var/www/test/run.py,代码如下:
from flask.ext.migrate import Migrate, MigrateCommand
from flask.ext.script import Manager
from app import app, db
if __name__ == "__main__":
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
manager.run()
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我理解我哪里出错了吗?我正在运行一个系统范围的UWSGI.
编辑
我使用pip安装了uwsgi和virtualenv,我有以下版本:
我的系统范围的python版本(以及我的venv中的版本)是:Python 2.7.3
我打算使用geonames API,但实际上在本地使用geonames并且不使用他们的web API似乎更合理.所以我的问题是,有没有人知道如何在本地与地理名称数据接口?
我是否需要手动将其导入数据库,然后像普通数据库一样引用它?
我真的很难将这种特定的时间格式转换为elasticsearch,因此我可以在Kibana中对其进行绘图。我无法更改此格式。我的elasticsearch数据和映射采用以下格式:
步骤1:设置映射
PUT http://<>.com:5101/myindex6/_doc/1
{
"mappings": {
"properties": {
"date": {
"type": "date",
"format": "HH:mm yyyy-MM-dd"
},
"data": {
"type": "integer"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
步骤2:新增资料
PUT http://<>.com:5101/myindex6
{
"test" : [ {
"data" : "119050300",
"date" : "10:00 2019-06-03"
} ]
}
Run Code Online (Sandbox Code Playgroud)
在基巴纳,它不会将其作为日期,也不会允许我将其映射为一个日期。但是,如果我删除时间方面并使用日期,而改为使用日期,则可以正常工作:
数据
{
"test" : [ {
"data" : "119050300",
"date" : "2019-06-03"
} ]
}
Run Code Online (Sandbox Code Playgroud)
地图
{
"mappings": {
"properties": {
"date": {
"type": "date",
"format": "yyyy-MM-dd"
},
"data": {
"type": "integer"
}
}
}
} …Run Code Online (Sandbox Code Playgroud) 这就是场景.我希望能够使用python脚本备份文件夹的内容.但是,我希望我的备份以压缩格式存储,可能是bz2.
问题来自于,如果"current"文件夹中的内容与我最近的备份中的内容完全相同,我不想打扰备份文件夹.
我的过程将是这样的:
任何人都可以推荐最可靠,最简单的方法来完成step2吗?我是否必须将备份的内容解压缩并存储在临时目录中以进行比较,或者是否有更优雅的方法来执行此操作?可能与修改日期有关吗?
我现在似乎无法做到这一点,谷歌谈到这里的地区:
https://developers.google.com/maps/documentation/geocoding/#RegionCodes
它使用以下参数:
region:
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:http://jsfiddle.net/spadez/Jfdbz/19/
我的问题是如何在我的脚本中将变量"ctryiso"传递给此参数?当我尝试时,没有任何变化,所以当ctryiso设置为美国并且我在伦敦输入时它仍然对英国伦敦进行地理编码.我听说它可能有点不可靠,但我仍然不认为我的实现是正确的.