|
@@ -503,53 +503,61 @@ function expire_gnusocial_posts {
|
503
|
503
|
expire_months=3
|
504
|
504
|
fi
|
505
|
505
|
|
|
506
|
+ expire_days=$((expire_months * 30))
|
|
507
|
+
|
506
|
508
|
# To prevent the database size from growing endlessly this script expires posts
|
507
|
509
|
# after a number of months
|
508
|
510
|
if [ ! -d /var/www/${domain_name}/htdocs ]; then
|
509
|
511
|
return
|
510
|
512
|
fi
|
511
|
513
|
|
512
|
|
- gnusocial_expire_script=/usr/bin/${gnusocial_type}-expire
|
|
514
|
+ gnusocial_expire_posts_script=/usr/bin/${gnusocial_type}-expire-posts
|
|
515
|
+
|
|
516
|
+ echo '<?php' > $gnusocial_expire_posts_script
|
|
517
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
518
|
+ echo "// ${gnusocial_type} post expiry script, based on StatExpire by Tony Baldwin" >> $gnusocial_expire_posts_script
|
|
519
|
+ echo '// https://github.com/tonybaldwin/statexpire' >> $gnusocial_expire_posts_script
|
|
520
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
521
|
+ echo "\$oldate=date((\"Y-m-d\"), strtotime(\"-${expire_months} months\"));" >> $gnusocial_expire_posts_script
|
|
522
|
+ echo '$username="root";' >> $gnusocial_expire_posts_script
|
|
523
|
+ echo "\$password=shell_exec('${PROJECT_NAME}-pass -u root -a mariadb');" >> $gnusocial_expire_posts_script
|
|
524
|
+ echo "\$database=\"${gnusocial_type}\";" >> $gnusocial_expire_posts_script
|
|
525
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
526
|
+ echo 'if (!$link = mysql_connect("localhost", $username, $password)) {' >> $gnusocial_expire_posts_script
|
|
527
|
+ echo ' echo "Could not connect to mariadb";' >> $gnusocial_expire_posts_script
|
|
528
|
+ echo ' exit;' >> $gnusocial_expire_posts_script
|
|
529
|
+ echo '}' >> $gnusocial_expire_posts_script
|
|
530
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
531
|
+ echo 'if (!mysql_select_db($database, $link)) {' >> $gnusocial_expire_posts_script
|
|
532
|
+ echo " echo \"Could not select ${gnusocial_type} database\";" >> $gnusocial_expire_posts_script
|
|
533
|
+ echo ' exit;' >> $gnusocial_expire_posts_script
|
|
534
|
+ echo '}' >> $gnusocial_expire_posts_script
|
|
535
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
536
|
+ echo "\$notice_query=\"DELETE FROM notice WHERE created <= '\$oldate 01:01:01'\";" >> $gnusocial_expire_posts_script
|
|
537
|
+ echo "\$conversation_query=\"DELETE FROM conversation WHERE created <= '$oldate 01:01:01'\";" >> $gnusocial_expire_posts_script
|
|
538
|
+ echo "\$reply_query=\"DELETE FROM reply WHERE modified <= '\$oldate 01:01:01'\";" >> $gnusocial_expire_posts_script
|
|
539
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
540
|
+ echo 'mysql_query($notice_query);' >> $gnusocial_expire_posts_script
|
|
541
|
+ echo '$rowaff1=mysql_affected_rows();' >> $gnusocial_expire_posts_script
|
|
542
|
+ echo 'mysql_query($conversation_query);' >> $gnusocial_expire_posts_script
|
|
543
|
+ echo '$rowaff2=mysql_affected_rows();' >> $gnusocial_expire_posts_script
|
|
544
|
+ echo 'mysql_query($reply_query);' >> $gnusocial_expire_posts_script
|
|
545
|
+ echo '$rowaff3=mysql_affected_rows();' >> $gnusocial_expire_posts_script
|
|
546
|
+ echo 'mysql_close();' >> $gnusocial_expire_posts_script
|
|
547
|
+ echo '' >> $gnusocial_expire_posts_script
|
|
548
|
+ echo -n "echo \"Expire ${gnusocial_type} posts: " >> $gnusocial_expire_posts_script
|
|
549
|
+ echo '$rowaff1 notices, $rowaff2 conversations, and $rowaff3 replies deleted from database.\n";' >> $gnusocial_expire_posts_script
|
|
550
|
+ chmod +x $gnusocial_expire_posts_script
|
513
|
551
|
|
514
|
|
- echo '<?php' > $gnusocial_expire_script
|
515
|
|
- echo '' >> $gnusocial_expire_script
|
516
|
|
- echo "// ${gnusocial_type} post expiry script, based on StatExpire by Tony Baldwin" >> $gnusocial_expire_script
|
517
|
|
- echo '// https://github.com/tonybaldwin/statexpire' >> $gnusocial_expire_script
|
518
|
|
- echo '' >> $gnusocial_expire_script
|
519
|
|
- echo "\$oldate=date((\"Y-m-d\"), strtotime(\"-${expire_months} months\"));" >> $gnusocial_expire_script
|
520
|
|
- echo '$username="root";' >> $gnusocial_expire_script
|
521
|
|
- echo "\$password=shell_exec('${PROJECT_NAME}-pass -u root -a mariadb');" >> $gnusocial_expire_script
|
522
|
|
- echo "\$database=\"${gnusocial_type}\";" >> $gnusocial_expire_script
|
523
|
|
- echo '' >> $gnusocial_expire_script
|
524
|
|
- echo 'if (!$link = mysql_connect("localhost", $username, $password)) {' >> $gnusocial_expire_script
|
525
|
|
- echo ' echo "Could not connect to mariadb";' >> $gnusocial_expire_script
|
526
|
|
- echo ' exit;' >> $gnusocial_expire_script
|
527
|
|
- echo '}' >> $gnusocial_expire_script
|
528
|
|
- echo '' >> $gnusocial_expire_script
|
529
|
|
- echo 'if (!mysql_select_db($database, $link)) {' >> $gnusocial_expire_script
|
530
|
|
- echo " echo \"Could not select ${gnusocial_type} database\";" >> $gnusocial_expire_script
|
531
|
|
- echo ' exit;' >> $gnusocial_expire_script
|
532
|
|
- echo '}' >> $gnusocial_expire_script
|
533
|
|
- echo '' >> $gnusocial_expire_script
|
534
|
|
- echo "\$notice_query=\"DELETE FROM notice WHERE created <= '\$oldate 01:01:01'\";" >> $gnusocial_expire_script
|
535
|
|
- echo "\$conversation_query=\"DELETE FROM conversation WHERE created <= '$oldate 01:01:01'\";" >> $gnusocial_expire_script
|
536
|
|
- echo "\$reply_query=\"DELETE FROM reply WHERE modified <= '\$oldate 01:01:01'\";" >> $gnusocial_expire_script
|
537
|
|
- echo '' >> $gnusocial_expire_script
|
538
|
|
- echo 'mysql_query($notice_query);' >> $gnusocial_expire_script
|
539
|
|
- echo '$rowaff1=mysql_affected_rows();' >> $gnusocial_expire_script
|
540
|
|
- echo 'mysql_query($conversation_query);' >> $gnusocial_expire_script
|
541
|
|
- echo '$rowaff2=mysql_affected_rows();' >> $gnusocial_expire_script
|
542
|
|
- echo 'mysql_query($reply_query);' >> $gnusocial_expire_script
|
543
|
|
- echo '$rowaff3=mysql_affected_rows();' >> $gnusocial_expire_script
|
544
|
|
- echo 'mysql_close();' >> $gnusocial_expire_script
|
545
|
|
- echo '' >> $gnusocial_expire_script
|
546
|
|
- echo -n "echo \"Expire ${gnusocial_type} posts: " >> $gnusocial_expire_script
|
547
|
|
- echo '$rowaff1 notices, $rowaff2 conversations, and $rowaff3 replies deleted from database.\n";' >> $gnusocial_expire_script
|
|
552
|
+ gnusocial_expire_script=/usr/bin/${gnusocial_type}-expire
|
|
553
|
+ echo '#!/bin/bash' > $gnusocial_expire_script
|
|
554
|
+ echo "/usr/bin/php $gnusocial_expire_posts_script" > $gnusocial_expire_script
|
|
555
|
+ echo "find /var/www/${domain_name}/htdocs/file/* -mtime +${expire_days} -exec rm {} +" > $gnusocial_expire_script
|
548
|
556
|
chmod +x $gnusocial_expire_script
|
549
|
557
|
|
550
|
558
|
# Add a cron job
|
551
|
559
|
if ! grep -q "${gnusocial_type}_expire_script" /etc/crontab; then
|
552
|
|
- echo "10 3 5 * * root /usr/bin/timeout 500 /usr/bin/php ${gnusocial_expire_script}" >> /etc/crontab
|
|
560
|
+ echo "10 3 5 * * root /usr/bin/timeout 500 ${gnusocial_expire_script}" >> /etc/crontab
|
553
|
561
|
fi
|
554
|
562
|
|
555
|
563
|
# remove old expire script
|