Изпразване на файл през определенo време

C++ JAVA
User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

Изпразване на файл през определенo време

Post by cHuBakA » Mon May 04, 2020 12:30 am

Привет.
Имам текстов файл. 1.txt, който го ползвам за лог
как мога да направя чрез php на всеки час да му трие съдържанието?
Last edited by anonimen on Mon May 04, 2020 8:43 am, edited 2 times in total.
Reason: improved title

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3302
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Re: Изтриване на лог

Post by dakata__92 » Mon May 04, 2020 6:45 am

cHuBakA wrote:
Mon May 04, 2020 12:30 am
Привет.
Имам текстов файл. 1.txt, който го ползвам за лог
как мога да направя чрез php на всеки час да му трие съдържанието?
Просто го презаписваш с file_put_content();

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1589
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Re: Изтриване на лог

Post by anonimen » Mon May 04, 2020 8:41 am

Авторът май по-скоро пита как се прави cron job?

@cHuBakA трябва да си направиш cron job (има много обяснения по интернета) и програмка, която да почиства файла.
Ако не настояваш за php, можеш и с bash да го направиш: "echo >my_file" и готово :D

User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

Re: Изпразване на файл през определенo време

Post by cHuBakA » Mon May 04, 2020 12:20 pm

С крон е ясно. Питането ми е без крон защото много ми товари. Само с php.

@dakata__92 . Аз го правя с file_put_contents. Въпроса е как да я накарам да работи сама на всеки час?

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3302
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Re: Изпразване на файл през определенo време

Post by dakata__92 » Mon May 04, 2020 3:28 pm

cHuBakA wrote:
Mon May 04, 2020 12:20 pm
С крон е ясно. Питането ми е без крон защото много ми товари. Само с php.

@dakata__92 . Аз го правя с file_put_contents. Въпроса е как да я накарам да работи сама на всеки час?
Без cron задача трябва да разчиташ на рефреши от някъде и да имаш запаметено времето на последното зануляване. Трябва да го запаметяваш в база или пак във файл. Друг вариант е да ползваш filemtime.
Създаваш си един php файл и при рефреш на някоя страница от потребител викаш на заден фон файла да работи. Тъпо и несигурно решение без cron задача.

Ето ти пример (не съм го тествал).

Code: Select all

while (true) {
    $file = 'file.txt';
    if (file_exists($file)) {
        $timeModified = filemtime($file) + (60 * 60);
        if ($timeModified < time()) {
            file_put_contents($file, '');
        }
    }
    sleep(10);
}

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 891
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Re: Изпразване на файл през определенo време

Post by Revelation » Tue May 05, 2020 7:44 am

Всяко решение без cron не е приемливо. Не знам какво значи cron да товари много. Нещо се заблуждаваш. Крона по същество е лек. Въпроса е скрипта, който трябва да пусне да е лек. Ако ще е само зануляване на файл, крон + bash както предложиха е най-бързия и лесен начин.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3302
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Re: Изпразване на файл през определенo време

Post by dakata__92 » Tue May 05, 2020 7:50 am

Revelation wrote:
Tue May 05, 2020 7:44 am
Всяко решение без cron не е приемливо. Не знам какво значи cron да товари много. Нещо се заблуждаваш. Крона по същество е лек. Въпроса е скрипта, който трябва да пусне да е лек. Ако ще е само зануляване на файл, крон + bash както предложиха е най-бързия и лесен начин.
Съгласен.

uphero
Потребител
Потребител
Posts: 759
Joined: Mon Feb 20, 2012 12:26 pm
Answers: 32
Location: Казанлък
Contact:

Re: Изпразване на файл през определенo време

Post by uphero » Tue May 05, 2020 11:46 am

другия начин е да си настроиш аларма и да го триеш ръчно.

User avatar
muti
Турист
Турист
Posts: 272
Joined: Thu Nov 14, 2019 7:03 am
Answers: 2

Re: Изпразване на файл през определенo време

Post by muti » Tue May 05, 2020 3:05 pm

И аз съм за cron. Друга тъпа идея е да си направиш изпълнимо файлче на компютъра ти и при пускането му да го изпълнява и да ти трие логога.

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 891
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Re: Изпразване на файл през определенo време

Post by Revelation » Tue May 05, 2020 6:42 pm

Аз не прочетох хубаво въпроса. За такива работи се настройва logrotate.

Post Reply