-
Notifications
You must be signed in to change notification settings - Fork 66
Expand file tree
/
Copy pathcron_disk_usage.php
More file actions
32 lines (26 loc) · 982 Bytes
/
cron_disk_usage.php
File metadata and controls
32 lines (26 loc) · 982 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
require_once 'include/baseTheme.php';
require_once 'include/lib/fileUploadLib.inc.php';
// update disk-usage cron timestamp
$ts = date('Y-m-d H:i', time());
Database::get()->querySingle(
"INSERT INTO config
SET `key` = 'disk_usage_cron_ts', value = ?s
ON DUPLICATE KEY UPDATE value = ?s",
$ts,
$ts
);
$courses = Database::get()->queryArray("SELECT id, code FROM course");
$upsert_commands = [];
foreach ($courses as $course) {
$course_code = $course->code;
$courses_path = $webDir . "/courses/$course_code";
$videos_path = $webDir . "/video/$course_code";
$total_course_size = dir_total_space($courses_path) + dir_total_space($videos_path);
$upsert_commands[] = "($course->id, $total_course_size)";
}
$query = "INSERT INTO course_resource_usage (course_id, disk_size)
VALUES " . implode(', ', $upsert_commands) . "
ON DUPLICATE KEY UPDATE
disk_size = VALUES(disk_size);";
Database::get()->query($query);