Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #!/usr/bin/awk -f
  2. ##
  3. ## Usage:
  4. ## cat orig.bi.list | ./import_bi_list.awk -v bucketname=mybucket -v bucketid=mybucketid -v marker=mymarker -v poolname=myrgw.buckets.data -v namesfile=diffnamesfile
  5. ##
  6. ##
  7.  
  8.  
  9. function procObj() {
  10. if(mynames[objname]) {
  11. print "Object "objname" is in the list of missing names.. Processing"
  12. printf "Checking if object exists in rados: "
  13. retval=system("rados stat \""marker"_"objname"\" -p \""poolname"\"")
  14. if(retval==0) {
  15. print "Found, importing Object # "objcount", "objname": "
  16. # print "radosgw-admin bi put --bucket=\""bucketname"\" --bucket-id=\""bucketid"\" --object=\""objname"\" --infile=/tmp/obj."objcount".json"
  17. retval=system("radosgw-admin bi put --bucket="bucketname" --bucket-id="bucketid" --object="objname" --infile=/tmp/obj."objcount".json >/dev/null")
  18. if(retval!=0)
  19. print "failed!"
  20. else
  21. print "success."
  22. } else
  23. print "Deleted, moving on."
  24. } else
  25. print "Object "objname" not in list of missing names.. moving on."
  26. system("rm -f /tmp/obj."objcount".json")
  27. }
  28.  
  29. BEGIN {
  30. objcount=0
  31. if(bucketname=="") {
  32. print "Missing bucketname!"
  33. print "Please supply '-v bucketname=myname'"
  34. exit
  35. }
  36.  
  37. if(bucketid=="") {
  38. print "Missing Bucket ID!"
  39. print "Please supply '-v bucketid=myid'"
  40. exit
  41. }
  42.  
  43. if(marker=="") {
  44. print "Missing marker!"
  45. print "Please supply '-v marker=mymarker'"
  46. exit
  47. }
  48.  
  49. if(namesfile=="") {
  50. print "Missing names file"
  51. print "Please supply '-v namesfile=listofnamesfile'"
  52. exit
  53. }
  54.  
  55. if(poolname=="") {
  56. print "Missing pool name"
  57. print "Please supply '-v poolname=myrgw.bucket.data'"
  58. exit
  59. }
  60. while(( getline line<namesfile ) > 0)
  61. mynames[line]=1
  62. }
  63.  
  64. /^ {/ {
  65. inobj=1
  66. objcount++
  67. }
  68.  
  69. /^ }/ {
  70. print " }" >> "/tmp/obj."objcount".json"
  71. inobj=0
  72. procObj()
  73. }
  74.  
  75. /"name":/ {
  76. objname=$NF
  77. gsub(/^\"/,"",objname)
  78. gsub(/\",$/,"",objname)
  79. }
  80.  
  81. {
  82. if(inobj==1)
  83. print $0 >> "/tmp/obj."objcount".json"
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement