Linux 创建war文件时的磁盘空间限制

Linux 创建war文件时的磁盘空间限制,linux,shell,war,Linux,Shell,War,我有1GB的磁盘空间限制来承载我的应用程序,我已经使用了700MB的空间 但是,我想使用以下命令从一个非常大(大约600MB)的目录创建一个war文件: jar -cvf ROOT.war folderPath 这就是我遇到配额限制的原因,我无法做到以下几点 我正在寻找一种在应用归档文件以节省磁盘空间时删除文件夹内容的方法 请注意,我无法在ssh shell中安装zip工具~代码可以在测试目录上运行,但还是要先测试它,因为它会删除文件。效率不高 假设:300MB的可用空间,用于破坏性压缩600

我有1GB的磁盘空间限制来承载我的应用程序,我已经使用了700MB的空间

但是,我想使用以下命令从一个非常大(大约600MB)的目录创建一个war文件:

jar -cvf ROOT.war folderPath
这就是我遇到配额限制的原因,我无法做到以下几点

我正在寻找一种在应用归档文件以节省磁盘空间时删除文件夹内容的方法


请注意,我无法在ssh shell中安装zip工具~

代码可以在测试目录上运行,但还是要先测试它,因为它会删除文件。效率不高

假设:300MB的可用空间,用于破坏性压缩600MB folderpath目录。没有一个文件太大——如果folderpath中的任何文件是300MB或更大,这将失败

注意:如果“$out”文件存在,则不执行任何操作。首先
find
通过管道将文件列表传输到
,而
,如果循环中不存在“$out”,则创建它,不更新它——如果确实存在,则更新它。每次传递都会再添加一个文件,然后将其删除,除非该文件是目录。循环完成后,也删除空目录

unset U ; in=folderpath ; out=ROOT.war ; \
[ -f $out ] || ( find $in | \
while read a ; do \
    [ -f $out ] && U=u ; \
    jar -cvf$U $out "$a" || { echo "Fail, stopping..." ; exit 1 ; } \
    rm -d "$a" 2> /dev/null ; \
done ; rm -rd $in ; )

为什么不下载文件夹并在本地计算机上创建war文件呢?因为上传是一个简单的过程nightmare@davidgiga1993这是最糟糕的解决方案~暂时向您的提供商要求另一个GB。@Danfrom Germany这不是一个解决方案,就像我在排除这个问题一样