我有一个git存储库,每天晚上我想要一个cronjob,它将处理过的数据加载到我的git存储库中.
所以首先我每天用cronjob调用一个shell脚本:
30 0 * * * sh /home/......../gitprojectfolder/cronjob.sh
Run Code Online (Sandbox Code Playgroud)
这个shell文件产生mysql备份输出.生成备份后,它会使用Perl脚本将备份转换为新文档.
这就是调用Perl脚本的方式(通过绝对路径<=这可行):
perl /home/....../gitprojectfolder/upload_documents.pl
Run Code Online (Sandbox Code Playgroud)
然后,Perl脚本在生成新文档后也会启动git上载.
这就是Perl代码中相关行的外观:
system("git add --all");
system("git commit -am 'Upload of public documents'");
system("git push https://*******.git");
Run Code Online (Sandbox Code Playgroud)
当我使用我的服务器上的git项目文件夹转到目录时:
cd gitprojectfolder
# followed by my script
perl upload_documents.pl
Run Code Online (Sandbox Code Playgroud)
然后git上传工作正常.
如果我通过cronjob调用Perl脚本:
perl /home/...../gitprojectfolder/upload_documents.pl
Run Code Online (Sandbox Code Playgroud)
或者如果我从任何其他目录调用它,那么上传不起作用:
fatal: Not a git repository (or any parent up to mount point /home)
Run Code Online (Sandbox Code Playgroud)
因此,当我登录到我的控制台并从gitproject文件夹启动Perl脚本时,我似乎只能使用我的脚本.所以我的脚本需要从那里调用.
有谁知道这有可能吗?如何更改我的任何代码,以便从此git项目文件夹调用Perl脚本.
只是一个问题我做错了什么。我有这个代码:
public static int berechneSekundenwert(String datum, String zeit) throws ParseException {
Date dt = new Date();
SimpleDateFormat df = new SimpleDateFormat( "dd.MM.yyyy HH:mm:ss" );
dt = df.parse( datum+" "+ zeit);
int gesamtzeit = (int)dt.getTime();
return gesamtzeit;
}
Run Code Online (Sandbox Code Playgroud)
现在我的导入格式是:
2019.11.09 01:30:17
我想要做的是计算这些日期所经过的时间,这样我以后就可以按时间对它们进行排序。但我得到负值?!
示例输出(经过的时间、日期、白天):
难道它们不应该都是正数吗,因为 java 声明 getTime 函数测量自 01.01.1970 以来的时间
有人知道我做错了什么吗?