Skip to content
This repository was archived by the owner on Sep 12, 2024. It is now read-only.

Commit f94e757

Browse files
committed
Lint shell scripts
1 parent 971f3e3 commit f94e757

38 files changed

+297
-209
lines changed

CondorMonitoring/JobCounter.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
location="/afs/cern.ch/user/c/cmst1/CondorMonitoring"
99
outputdir="/afs/cern.ch/user/c/cmst1/www/CondorMonitoring/"
1010

11-
#Set environment
11+
# Set environment
12+
# shellcheck disable=SC1091
1213
source /data/admin/wmagent/env.sh
14+
# shellcheck disable=SC1091
1315
source /data/srv/wmagent/current/apps/wmagent/etc/profile.d/init.sh
14-
cd $location
16+
cd $location||exit
1517

1618
#Email if things are running slowly
1719
if [ -f scriptRunning.run ];
@@ -33,6 +35,6 @@ fi
3335
python JobCounter.py &> JobCounter.log
3436
exitstatus="$?"
3537
echo "JobCounter.py exit status: $exitstatus"
36-
cp *.json $outputdir
37-
cp *.txt $outputdir
38+
cp ./*.json $outputdir
39+
cp ./*.txt $outputdir
3840
rm scriptRunning.run

PhEDEXFix/phedex-fix.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
#!/bin/bash
22
./config/wmagent/manage execute-agent wmcoreD --shutdown --components=PhEDExInjector
33
./config/wmagent/manage mysql-prompt wmagent<querry.sql>lfns.txt
4+
# shellcheck disable=SC2002
45
cat lfns.txt | grep /store > lfnsgreped.txt
56
#tail -n 28 install/wmagent/PhEDExInjector/ComponentLog | head -n1 > phedex.log
67
#for j in $(for i in $(cat phedex.log) ; do echo $i | awk -F'"' {'print $2'} ; done | grep root) ; do echo $j; done > lfns.txt
78
./fileInPhedex.py lfnsgreped.txt > lfnsinPhedex.txt
9+
# shellcheck disable=SC2013
810
for i in $(cat lfnsinPhedex.txt); do echo "UPDATE dbsbuffer_file set in_phedex = 1 where lfn='$i';";done > meuscript.sql
911
./config/wmagent/manage mysql-prompt wmagent < meuscript.sql
1012
./config/wmagent/manage execute-agent wmcoreD --shutdown --components=PhEDExInjector
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
#!/bin/bash
2+
# shellcheck disable=SC1091
23
source /data/srv/wmagent/current/apps/wmagent/etc/profile.d/init.sh
34
python2.6 /home/cmsdataops/storeResults/cronjobs/StoreResultsAddCMSSWReleases.py

Unified/exec_expose.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ loc=$4
55
dest=$5
66
short=$6
77

8-
echo "Parameters passed to execution:" $wf $p $er $loc $dest $short
8+
echo "Parameters passed to execution: $wf $p $er $loc $dest $short"
99

1010
#sudo -u cmst1 /bin/bash --init-file ~cmst1/.bashrc $loc/WmAgentScripts/Unified/expose.sh $wf $p $er $dest $short
11-
source $loc/WmAgentScripts/Unified/expose.sh $wf $p $er $dest $short
11+
# shellcheck disable=SC2034,SC1090,SC1091
12+
source "$loc"/WmAgentScripts/Unified/expose.sh "$wf $p $er $dest $short"

Unified/expose.sh

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,65 @@
11
#!/bin/bash
22

3-
host=`echo $HOSTNAME | cut -d "." -f 1`
4-
echo "looking for condor log on" $host
3+
host=$(echo "$HOSTNAME" | cut -d "." -f 1)
4+
echo "looking for condor log on $host"
55
taskName=$1
66
wmbsID=$2
77
code=$3
88
cluster=${wmbsID:0:3}
99
loc=$4
1010
short=$5
1111

12-
#end_dir=/afs/cern.ch/user/c/cmst1/www/JobLogs/$taskName/$cluster/$host\_$wmbsID
13-
#end_dir=/afs/cern.ch/user/c/cmst2/www/unified/condorlogs/$taskName/$code/$cluster/$host\_$wmbsID
12+
# end_dir=/afs/cern.ch/user/c/cmst1/www/JobLogs/$taskName/$cluster/$host\_$wmbsID
13+
# end_dir=/afs/cern.ch/user/c/cmst2/www/unified/condorlogs/$taskName/$code/$cluster/$host\_$wmbsID
14+
# shellcheck disable=SC1001
1415
end_dir=$loc/condorlogs/$taskName/$code/$short/$cluster/$host\_$wmbsID
1516

1617
echo '==================================== Condor log retrieval ============================================='
17-
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/$taskName/*/job_$wmbsID/
18-
dir=`ls -d /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/$taskName/*/job_$wmbsID/`
19-
if [ -z $dir ]; then
18+
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/"$taskName"/*/job_"$wmbsID"/
19+
dir=$(ls -d /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/"$taskName"/*/job_"$wmbsID"/)
20+
if [ -z "$dir" ]; then
2021
echo "no on-going directory"
2122
else
22-
echo " Found some logs in" $dir
23-
echo "Will put it in " $end_dir
24-
mkdir -p $end_dir
25-
cp -r $dir/* $end_dir/.
23+
echo " Found some logs in $dir"
24+
echo "Will put it in $end_dir"
25+
mkdir -p "$end_dir"
26+
cp -r "$dir"/* "$end_dir"/.
2627
fi
2728
echo '==================================== Condor log retrieval ============================================='
28-
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/$taskName/*/*/job_$wmbsID/
29-
dir=`ls -d /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/$taskName/*/*/job_$wmbsID/`
30-
if [ -z $dir ]; then
29+
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/"$taskName"/*/*/job_"$wmbsID"/
30+
dir=$(ls -d /data/srv/wmagent/current/install/wmagent/JobCreator/JobCache/"$taskName"/*/*/job_"$wmbsID"/)
31+
if [ -z "$dir" ]; then
3132
echo "no on-going directory"
3233
else
33-
echo " Found some logs in" $dir
34-
echo "Will put it in " $end_dir
35-
mkdir -p $end_dir
36-
cp -r $dir/* $end_dir/.
34+
echo " Found some logs in $dir"
35+
echo "Will put it in $end_dir"
36+
mkdir -p "$end_dir"
37+
cp -r "$dir"/* "$end_dir"/.
3738
fi
3839

3940
echo '==================================== Condor log retrieval ============================================='
40-
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/${taskName:0:1}/$taskName/JobCluster_$cluster/Job_$wmbsID.tar.bz2
41-
file=`ls /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/${taskName:0:1}/$taskName/JobCluster_$cluster/Job_$wmbsID.tar.bz2`
42-
if [ -z $file ]; then
41+
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/"${taskName:0:1}"/"$taskName"/JobCluster_"$cluster"/Job_"$wmbsID".tar.bz2
42+
file=$(ls /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/"${taskName:0:1}"/"$taskName"/JobCluster_"$cluster"/Job_"$wmbsID".tar.bz2)
43+
if [ -z "$file" ]; then
4344
echo "no archived file"
4445
else
45-
echo " Found some logs in" $file
46-
echo "Will put it in " $end_dir
47-
mkdir -p $end_dir
48-
cd $end_dir
49-
tar xvf $file
46+
echo " Found some logs in" "$file"
47+
echo "Will put it in $end_dir"
48+
mkdir -p "$end_dir"
49+
cd "$end_dir"||exit
50+
tar xvf "$file"
5051
fi
5152

5253
echo '==================================== Condor log retrieval ============================================='
5354
cluster=${wmbsID:0:4}
54-
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/${taskName:0:1}/$taskName/JobCluster_$cluster/Job_$wmbsID.tar.bz2
55-
file=`ls /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/${taskName:0:1}/$taskName/JobCluster_$cluster/Job_$wmbsID.tar.bz2`
56-
if [ -z $file ]; then
55+
echo 'LISTING: ' /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/"${taskName:0:1}"/"$taskName"/JobCluster_"$cluster"/Job_"$wmbsID".tar.bz2
56+
file=$(ls /data/srv/wmagent/current/install/wmagent/JobArchiver/logDir/"${taskName:0:1}"/"$taskName"/JobCluster_"$cluster"/Job_"$wmbsID".tar.bz2)
57+
if [ -z "$file" ]; then
5758
echo "no archived file"
5859
else
59-
echo " Found some logs in" $file
60-
echo "Will put it in " $end_dir
61-
mkdir -p $end_dir
62-
cd $end_dir
63-
tar xvf $file
60+
echo " Found some logs in" "$file"
61+
echo "Will put it in " "$end_dir"
62+
mkdir -p "$end_dir"
63+
cd "$end_dir"||exit
64+
tar xvf "$file"
6465
fi

WFComplete_submitter.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/sh
22

33
echo "Executing $1 as cmst1..."
4-
sudo -u cmst1 /bin/bashs --init-file $1
4+
sudo -u cmst1 /bin/bashs --init-file "$1"

actcycle.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
BASE_DIR=/data/unified/WmAgentScripts/
2+
# shellcheck disable=SC2034
23
HTML_DIR=/var/www/html/unified/
34

4-
lock_name=`echo $BASH_SOURCE | cut -f 1 -d "."`.lock
5-
source $BASE_DIR/cycle_common.sh $lock_name
5+
# shellcheck disable=SC1090,SC2128
6+
lock_name=$(echo "$BASH_SOURCE" | cut -f 1 -d ".").lock
7+
# shellcheck disable=SC1090
8+
source $BASE_DIR/cycle_common.sh "$lock_name"
69

710
## get sso cookie and new grid proxy
11+
# shellcheck disable=SC1090
812
source $BASE_DIR/credentials.sh
913

1014
## submit ACDCs and clones from actions submitted via new recovery tools
1115
$BASE_DIR/cWrap.sh Unified/actor.py
1216

13-
rm -f $lock_name
17+
rm -f "$lock_name"
1418

assigncycle.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
BASE_DIR=/data/unified/WmAgentScripts/
2+
# shellcheck disable=SC2034
23
HTML_DIR=/var/www/html/unified/
34

4-
lock_name=`echo $BASH_SOURCE | cut -f 1 -d "."`.lock
5-
source $BASE_DIR/cycle_common.sh $lock_name
5+
# shellcheck disable=SC2128
6+
lock_name=$(echo "$BASH_SOURCE" | cut -f 1 -d ".").lock
7+
# shellcheck disable=SC1090
8+
source $BASE_DIR/cycle_common.sh "$lock_name"
69

710
## get the workflow in/out of the system
811
$BASE_DIR/cWrap.sh Unified/injector.py
@@ -26,5 +29,5 @@ $BASE_DIR/cWrap.sh Unified/assignor.py _PR_ref
2629
## assign the workflow to sites
2730
$BASE_DIR/cWrap.sh Unified/assignor.py
2831

29-
rm -f $lock_name
32+
rm -f "$lock_name"
3033

cWrap.sh

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -7,74 +7,79 @@ if [ ! -d $FINAL_HTML_DIR ] ; then
77
echo "Cannot read the log destination",$FINAL_HTML_DIR
88
exit
99
fi
10-
cd $BASE_DIR
10+
cd $BASE_DIR||exit
1111

12-
modulename=`echo $1 | sed 's/\.py//' | sed 's/Unified\///'`
13-
mkdir -p $HTML_DIR/logs/$modulename/
14-
env EOS_MGM_URL=root://eoscms.cern.ch eos mkdir -p $FINAL_HTML_DIR/logs/$modulename/
12+
modulename=$(echo "$1" | sed 's/\.py//' | sed 's/Unified\///')
13+
mkdir -p $HTML_DIR/logs/"$modulename"/
14+
env EOS_MGM_URL=root://eoscms.cern.ch eos mkdir -p $FINAL_HTML_DIR/logs/"$modulename"/
1515

1616
last_log=$HTML_DIR/logs/$modulename/last.log
17-
s_dated_log=$modulename/`date +%F_%T`.log
17+
s_dated_log=$modulename/$(date +%F_%T).log
1818
dated_log=$HTML_DIR/logs/$s_dated_log
1919
log=$dated_log
2020

21-
echo `date` > $log
22-
echo $$ >> $log
21+
# shellcheck disable=SC2005
22+
echo "$(date)" > "$log"
23+
echo $$ >> "$log"
2324

2425
if [ -r unified_drain ] ; then
25-
echo "System is locally draining" >> $log
26-
cp $log $last_log
27-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/.
28-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/last.log
26+
echo "System is locally draining" >> "$log"
27+
cp "$log" "$last_log"
28+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/.
29+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/last.log
2930
exit
3031
fi
3132
if [ -r /eos/cms/store/unified/unified_drain ] ; then
32-
echo "System is globally draining" >> $log
33-
cp $log $last_log
34-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/.
35-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/last.log
33+
echo "System is globally draining" >> "$log"
34+
cp "$log" "$last_log"
35+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/.
36+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/last.log
3637
exit
3738
fi
39+
# shellcheck disable=SC2129
40+
echo "$USER" >> "$log"
41+
echo "$HOSTNAME" >> "$log"
42+
echo module "$modulename">> "$log"
3843

39-
40-
echo $USER >> $log
41-
echo $HOSTNAME >> $log
42-
echo module $modulename>> $log
43-
44+
# shellcheck disable=SC1091
4445
source ./set.sh
4546

46-
echo >> $log
47+
echo >> "$log"
4748

48-
start=`date +%s`
49-
python ssi.py $modulename $start
49+
start=$(date +%s)
50+
python ssi.py "$modulename" "$start"
5051

51-
python $* &>> $log
52+
python "$@" &>> "$log"
5253

54+
# shellcheck disable=SC2181
5355
if [ $? == 0 ]; then
54-
echo "finished" >> $log
56+
echo "finished" >> "$log"
5557
else
56-
echo -e "\nAbnormal termination with exit code $?" >> $log
57-
top -n1 -o %MEM -c >> $log
58+
echo -e "\nAbnormal termination with exit code $?" >> "$log"
59+
top -n1 -o %MEM -c >> "$log"
5860

5961
emaillog=$log.txt
6062
failed_pid=$!
61-
echo "Abnormal termination, check $log" > $emaillog
62-
echo "https://cms-unified.web.cern.ch/cms-unified/logs/$s_dated_log" >> $emaillog
63-
echo $failed_pid >> $emaillog
64-
echo $USER >> $emaillog
65-
echo $HOSTNAME >> $emaillog
66-
echo -e "module $modulename \n" >> $emaillog
67-
tail $log >> $emaillog
68-
cat $emaillog | mail -s "[Ops] module "$modulename" failed" [email protected]
63+
echo "Abnormal termination, check $log" > "$emaillog"
64+
# shellcheck disable=SC2129
65+
echo "https://cms-unified.web.cern.ch/cms-unified/logs/$s_dated_log" >> "$emaillog"
66+
echo $failed_pid >> "$emaillog"
67+
echo "$USER" >> "$emaillog"
68+
echo "$HOSTNAME" >> "$emaillog"
69+
echo -e "module $modulename \n" >> "$emaillog"
70+
tail "$log" >> "$emaillog"
71+
# shellcheck disable=SC2002
72+
cat "$emaillog" | mail -s "[Ops] module $modulename failed" [email protected]
6973
fi
7074

71-
stop=`date +%s`
72-
python ssi.py $modulename $start $stop
73-
echo `date` >> $log
75+
stop=$(date +%s)
76+
python ssi.py "$modulename $start $stop"
77+
# shellcheck disable=SC2005
78+
echo "$(date)" >> "$log"
7479

7580
#cp $log $dated_log
76-
cp $log $last_log
77-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/.
78-
env EOS_MGM_URL=root://eoscms.cern.ch eos cp $log $FINAL_HTML_DIR/logs/$modulename/last.log
81+
cp "$log" "$last_log"
82+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/.
83+
env EOS_MGM_URL=root://eoscms.cern.ch eos cp "$log" $FINAL_HTML_DIR/logs/"$modulename"/last.log
7984

80-
#rm $log
85+
# rm $log

checkmem.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#log the memory of all
22
for each in 0268 0269 0272 0273 0274 0275; do
3-
lf='/data/unified/www/logs/checkmem/'`date +%F_%T`.$each.memlog
4-
date > $lf
5-
ssh vocms$each "ps -o pid,user,rss,%mem,args --sort -pmem -e | head -10" >> $lf
3+
lf='/data/unified/www/logs/checkmem/'$(date +%F_%T).$each.memlog
4+
date > "$lf"
5+
ssh vocms$each "ps -o pid,user,rss,%mem,args --sort -pmem -e | head -10" >> "$lf"
66
done
77
## keep it clean
88
find /data/unified/www/logs/checkmem/ -type f -name '*.memlog' -mtime +1 -exec rm {} \;

0 commit comments

Comments
 (0)