~percona-toolkit-dev/percona-toolkit/pt-table-sync-binlog-format-only-if-not-statement

« back to all changes in this revision

Viewing changes to lib/bash/tmpdir.sh

MergeĀ lp:~percona-toolkit-dev/percona-toolkit/fix-945079-tmpdir-should-use-TEMP

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
set -u
25
25
 
26
26
# Global variables.
27
 
TMPDIR=""
 
27
PT_TMPDIR=""
28
28
 
29
29
# Sub: mk_tmpdir
30
 
#   Create a secure tmpdir and set TMPDIR.
 
30
#   Create a secure tmpdir and set PT_TMPDIR.
31
31
#
32
32
# Optional Arguments:
33
33
#   dir - User-specified tmpdir (default none).
34
34
#
35
35
# Set Global Variables:
36
 
#   TMPDIR - Absolute path of secure temp directory.
 
36
#   PT_TMPDIR - Absolute path of secure temp directory.
37
37
mk_tmpdir() {
38
38
   local dir="${1:-""}"
39
39
 
41
41
      if [ ! -d "$dir" ]; then
42
42
         mkdir "$dir" || die "Cannot make tmpdir $dir"
43
43
      fi
44
 
      TMPDIR="$dir"
 
44
      PT_TMPDIR="$dir"
45
45
   else
46
46
      local tool="${0##*/}"
47
47
      local pid="$$"
48
 
      TMPDIR=`mktemp -d /tmp/${tool}.${pid}.XXXXXX` \
 
48
      PT_TMPDIR=`mktemp -d -t "${tool}.${pid}.XXXXXX"` \
49
49
         || die "Cannot make secure tmpdir"
50
50
   fi
51
51
}
52
52
 
53
53
# Sub: rm_tmpdir
54
 
#   Remove the tmpdir and unset TMPDIR.
 
54
#   Remove the tmpdir and unset PT_TMPDIR.
55
55
#
56
56
# Optional Global Variables:
57
 
#   TMPDIR - TMPDIR set by <mk_tmpdir()>.
 
57
#   PT_TMPDIR - PT_TMPDIR set by <mk_tmpdir()>.
58
58
#
59
59
# Set Global Variables:
60
 
#   TMPDIR - Set to "".
 
60
#   PT_TMPDIR - Set to "".
61
61
rm_tmpdir() {
62
 
   if [ -n "$TMPDIR" ] && [ -d "$TMPDIR" ]; then
63
 
      rm -rf "$TMPDIR"
 
62
   if [ -n "$PT_TMPDIR" ] && [ -d "$PT_TMPDIR" ]; then
 
63
      rm -rf "$PT_TMPDIR"
64
64
   fi
65
 
   TMPDIR=""
 
65
   PT_TMPDIR=""
66
66
}
67
67
 
68
68
# ###########################################################################