我查看了本網站和其他人以找到一個簡單的php腳本,可以使用cron在目錄中刪除X天以上的文件。似乎有很多,但沒有爲我工作。我在一個共享服務器(G C Solutions)上,主機很棒,但我所在的軟件包不包含shell訪問,所以我不認爲我可以使用.sh或bash命令。使用PHP腳本和cron刪除x天以上的目錄中的文件
我有一個整潔的php腳本來做我的數據庫的mysqldump,將它複製到我家區(/ home/mysite/backups)中的一個目錄並通過電子郵件發送給我一份副本 - 這一切都正常。現在我試圖運行一個腳本,只需在備份目錄中留下5天的備份。我現在想這個腳本: -
<?php
$dir = opendir('/home/mysite/backups");
if ($dir) {
// Read directory contents
while (false !== ($file = readdir($dir))) {
// Check the create time of each file (older than 5 days)
if (filemtime($file) < (time() - 60*60*24*5)) {
unlink($file);
}
}
}
?>
它不工作,我的cron設置字符串是: - PHP -q /home/mysite/public_html/scripts/delold6.php
我已經嘗試從html_public上面運行它,沒有喜悅,備份目錄權限設置爲755,當我的備份腳本將轉儲複製到此目錄時,文件設置爲644.我試圖將這些設置爲777 - 沒有喜悅。任何人都可以幫忙* find/path/to/your_directory -mtime +5 -exec rm -f {} \; *不能在cron中運行。
您是否嘗試過,而不是最終的IF來放置'echo $ file。「\ r \ n」;'?你看到所有文件的列表嗎? –
你在複製並粘貼這個問題時遇到了php錯誤或錯誤@ opendir('/ home/mysite/backups「);' – Prisoner
'備份'文件夾的所有者和組是什麼? – Sahal