| ... | ... |
@@ -1348,10 +1348,11 @@ function _run_process {
|
| 1348 | 1348 |
exec 3>&- |
| 1349 | 1349 |
exec 6>&- |
| 1350 | 1350 |
|
| 1351 |
- local real_logfile="${LOGDIR}/${service}.log.${CURRENT_LOG_TIME}"
|
|
| 1351 |
+ local logfile="${service}.log.${CURRENT_LOG_TIME}"
|
|
| 1352 |
+ local real_logfile="${LOGDIR}/${logfile}"
|
|
| 1352 | 1353 |
if [[ -n ${LOGDIR} ]]; then
|
| 1353 | 1354 |
exec 1>&"$real_logfile" 2>&1 |
| 1354 |
- ln -sf "$real_logfile" ${LOGDIR}/${service}.log
|
|
| 1355 |
+ bash -c "cd '$LOGDIR' && ln -sf '$logfile' ${service}.log"
|
|
| 1355 | 1356 |
if [[ -n ${SCREEN_LOGDIR} ]]; then
|
| 1356 | 1357 |
# Drop the backward-compat symlink |
| 1357 | 1358 |
ln -sf "$real_logfile" ${SCREEN_LOGDIR}/screen-${service}.log
|
| ... | ... |
@@ -1440,7 +1441,8 @@ function screen_process {
|
| 1440 | 1440 |
|
| 1441 | 1441 |
screen -S $SCREEN_NAME -X screen -t $name |
| 1442 | 1442 |
|
| 1443 |
- local real_logfile="${LOGDIR}/${name}.log.${CURRENT_LOG_TIME}"
|
|
| 1443 |
+ local logfile="${name}.log.${CURRENT_LOG_TIME}"
|
|
| 1444 |
+ local real_logfile="${LOGDIR}/${logfile}"
|
|
| 1444 | 1445 |
echo "LOGDIR: $LOGDIR" |
| 1445 | 1446 |
echo "SCREEN_LOGDIR: $SCREEN_LOGDIR" |
| 1446 | 1447 |
echo "log: $real_logfile" |
| ... | ... |
@@ -1451,7 +1453,7 @@ function screen_process {
|
| 1451 | 1451 |
fi |
| 1452 | 1452 |
# If logging isn't active then avoid a broken symlink |
| 1453 | 1453 |
touch "$real_logfile" |
| 1454 |
- ln -sf "$real_logfile" ${LOGDIR}/${name}.log
|
|
| 1454 |
+ bash -c "cd '$LOGDIR' && ln -sf '$logfile' ${name}.log"
|
|
| 1455 | 1455 |
if [[ -n ${SCREEN_LOGDIR} ]]; then
|
| 1456 | 1456 |
# Drop the backward-compat symlink |
| 1457 | 1457 |
ln -sf "$real_logfile" ${SCREEN_LOGDIR}/screen-${1}.log
|