背景描述
需要频繁的上传jar包并更名,服务器较多的情况下每次都需要敲一堆的命令,因此在查询资料后搞了个脚本重命名jar包。
脚本有很多不足的地方,比如新上传的jar包必须要按固定的结尾上传,否则没法判断和重命名;还有处理逻辑也多少有点问题,同一天多次上传的话会导致重命名jar包时会提示文件已存在,因为同一天已经有一个jar包后缀加上了当天日期。以上问题还请各路大神多多指正,协助改进,感谢!
代码:
#!/bin/sh
server_path=/test
echo "[INFO] ===========当前时间==========="
datetime=$(date +%Y%m%d)
echo $datetime
echo "[INFO] ===========判断是否有新配置文件==========="
if [ -f $server_path/application.yml6 ]; then
echo "[INFO] ===========存在新配置文件,开始重命名==========="
mv $server_path/application.yml $server_path/application.yml$datetime
mv $server_path/application.yml6 $server_path/application.yml
echo "[INFO] ===========重命名结束==========="
#exit 1
fi
echo "[INFO] ===========判断是否有新jar包==========="
if [ -f $server_path/*.jar6 ]; then
echo "[INFO] ===========存在新jar包,开始重命名==========="
#old_jarname=$(basename $server_path/*.jar)
#new_jarname=$(basename $server_path/*.jar6)
#echo $old_jarname
#echo $new_jarname
#reold_jarname=$server_path/$old_jarname$datetime
#renew_jarname=$server_path/${new_jarname%?}
#echo $reold_jarname
#echo $renew_jarname
#mv $server_path/*.jar $reold_jarname
#mv $server_path/*.jar6 $renew_jarname
mv $server_path/*.jar $server_path/$(basename $server_path/*.jar)$datetime
mv $server_path/*.jar6 $server_path/$(basename $server_path/*.jar6 .jar6).jar
echo "[INFO] ===========重命名jar包结束==========="
#exit 1
fi
exit;