Parcourir la source

peertube sync lock file

Bob Mottram il y a 7 ans
Parent
révision
6108a065e8
1 fichiers modifiés avec 23 ajouts et 17 suppressions
  1. 23
    17
      src/freedombone-app-peertube

+ 23
- 17
src/freedombone-app-peertube Voir le fichier

@@ -65,6 +65,17 @@ function peertube_import_from_syncthing {
65 65
 
66 66
     { echo '#!/bin/bash';
67 67
       echo '';
68
+      echo 'if [ -f /root/.peertube.lock ]; then';
69
+      echo "    lockctr=\$(cat /root/.peertube.lock)";
70
+      echo "    lockctr=\$((lockctr+1))";
71
+      echo "    echo \"\$lockctr\" > /root/.peertube.lock";
72
+      echo "    if [ \$lockctr -ge 30 ]; then";
73
+      echo "        rm /root/.peertube.lock";
74
+      echo '    else';
75
+      echo '        exit 0';
76
+      echo '    fi';
77
+      echo 'fi';
78
+      echo '';
68 79
       echo "MY_USERNAME=\$(cat /root/${PROJECT_NAME}.cfg | grep MY_USERNAME | awk -F '=' '{print \$2}')";
69 80
       echo "if [ ! \"\$MY_USERNAME\" ]; then";
70 81
       echo '    exit 0';
@@ -100,33 +111,28 @@ function peertube_import_from_syncthing {
100 111
       echo '';
101 112
       echo 'failed_uploads=0';
102 113
       echo '';
114
+      echo 'echo "0" > /root/.peertube.lock';
115
+      echo '';
103 116
       echo "for video_file in \$search_dir/*; do";
104 117
       echo "    if [[ \"\$video_file\" == *'.ogv' || \"\$video_file\" == *'.mp4' || \"\$video_file\" == *'.webm' ]]; then";
105 118
       echo "        cd ${PEERTUBE_DIR} || exit 32468356";
106 119
       echo "        ";
107 120
       echo "        if ! grep -q \"\$video_file\" /root/.peertube_uploaded; then";
108
-      echo "            if ! grep -q \"\$video_file\" /root/.peertube_uploading; then";
109
-      echo "                echo \"\$video_file\" >> /root/.peertube_uploading";
110
-      echo "                peertubetitle=\$(basename \"\$video_file\" | awk -F '.' '{print \$1}' | sed 's|_| |g' | sed 's|-| |g')";
111
-      echo "                if $nodecmd \$import_script -n \"\$peertubetitle\" \$peertubensfw \$peertubeprivate -u \"\$peertubedomain\" -U \"\$peertubeuser\" --password \"\$peertubepassword\" -f \"\$video_file\"; then";
112
-      echo "                    echo \"\$video_file\" >> /root/.peertube_uploaded";
113
-      echo "                    sed -i \"/\$(basename \$video_file)/d\" /root/.peertube_uploading";
114
-      echo "                    exit 0";
115
-      echo '                else';
116
-      echo "                    sed -i \"/\$(basename \$video_file)/d\" /root/.peertube_uploading";
117
-      echo "                    failed_uploads=\$((failed_uploads+1))";
118
-      echo "                    if [ \$failed_uploads -gt 1 ]; then";
119
-      echo '                        exit 0';
120
-      echo '                    fi';
121
+      echo "            peertubetitle=\$(basename \"\$video_file\" | awk -F '.' '{print \$1}' | sed 's|_| |g' | sed 's|-| |g')";
122
+      echo "            if $nodecmd \$import_script -n \"\$peertubetitle\" \$peertubensfw \$peertubeprivate -u \"\$peertubedomain\" -U \"\$peertubeuser\" --password \"\$peertubepassword\" -f \"\$video_file\"; then";
123
+      echo "                echo \"\$video_file\" >> /root/.peertube_uploaded";
124
+      echo "                exit 0";
125
+      echo '            else';
126
+      echo "                failed_uploads=\$((failed_uploads+1))";
127
+      echo "                if [ \$failed_uploads -gt 1 ]; then";
128
+      echo '                    exit 0';
121 129
       echo '                fi';
122 130
       echo '            fi';
123
-      echo '        else';
124
-      echo "            if grep -q \"\$video_file\" /root/.peertube_uploading; then";
125
-      echo "                sed -i \"/\$(basename \$video_file)/d\" /root/.peertube_uploading";
126
-      echo '            fi';
127 131
       echo '        fi';
128 132
       echo '    fi';
129 133
       echo 'done'; } > /usr/bin/peertubesync
134
+      echo '';
135
+      echo 'rm /root/.peertube.lock';
130 136
 
131 137
     chmod +x /usr/bin/peertubesync
132 138
     cron_add_mins 1 /usr/bin/peertubesync