| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Perl localtime |
| Автор: dnbattack 3.7.2011, 17:28 |
| доброго времени суток. Имеется скрипт написанный коллегой для создания бэкапов. Недавно я заметил что папки и файлы бэкапов создаются не как раньше: год_мес_день/имяфайла.год_мес_день_время а так /ЧЧ:ММ:СС_Jul_/имяфайла.ЧЧ:ММ:СС_Мес__День ... что не очень удобно ... Изменений в скрипте никаких не производилось, если только обновлялась система (ubuntu 10.10) Привожу кусок кода который явно отвечает за дату и время ... #!/usr/bin/perl -w < тут то что делает скрипт > sub gettime { #($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) my ($mday, $month, $day, $time, $year) = split(/[\s' ']/, localtime(time)); if ( !defined($_[0]) ) { return "$year\_$month\_$day"; } else { return "$year\_$month\_$day\_$time"; } } ... В Perl я новичок (если быть точнее, даже нуб) и пока мало что понимаю - буду рад любой помощи ... спасибо! |
| Автор: EcSYZ 3.7.2011, 17:46 | ||
PS: хотя может стоить заглянуть в доки по localtime в Убунте, вдруг там чтото своё решили придумать |
| Автор: dnbattack 3.7.2011, 17:57 | ||
привел к такому виду:
Теперь скрипт отказывается работать вовсе ... /backup$ ./backup.pl Global symbol "$month" requires explicit package name at ./backup.pl line 196. Global symbol "$day" requires explicit package name at ./backup.pl line 196. Global symbol "$month" requires explicit package name at ./backup.pl line 198. Global symbol "$day" requires explicit package name at ./backup.pl line 198. Global symbol "$time" requires explicit package name at ./backup.pl line 198. Execution of ./backup.pl aborted due to compilation errors. |
| Автор: EcSYZ 3.7.2011, 18:11 | ||
Выдаёт как и надо: 2011_7_3 2011_7_3_19:14:21 |
| Автор: dnbattack 3.7.2011, 18:19 |
| да, действительно ... криво набрал код ... Спасибо! а если не секрет из-за чего мог появится такой косяк, учитывая что ранее все работало ? |
| Автор: Swedman 4.7.2011, 17:33 | ||
Вывод: Mon Jul 4 18:32:36 2011 Подскажите, формат вывода где можно задать? ------------------------------------ https://www.allmetals.ru/metals/iron/producing/ |
| Автор: arto 4.7.2011, 21:55 |
| perldoc POSIX на предмет strftime |
| Автор: OutlawZ 5.7.2011, 04:22 | ||
Опоздал, но все же выложу |
| Автор: dnbattack 11.7.2011, 17:38 |
| Продолжу обсуждение тут, Теперь возникла проблема с запуском скрипта с помощью cron набрал crontab -e вписал туда 30 5 * * * backup-system /usr/bin/perl /home/backup-system/backup/backup.pl (запуск каждый день в 5 часов 30 мин) но как я заметил задание не выполняется, причем логи просто пустые ... даже не знаю куда копать ... надеюсь на любую помощь Система ubuntu 10.10 |
| Автор: ssdm 13.7.2011, 13:29 | ||||
Впишите так
таким образом вы направите ошибки запуска скрипта в файл /tmp/backup.log Потом посмотрите что после неудачного в этот файл запишется. |
| Автор: dnbattack 13.7.2011, 23:34 | ||||||||||
Выдало
полез в /etc/crontab Исправил
на
перезапустил cron все равно говорит
Ладно, черт с ним ... прописываю тоже самое по crontab -e в логе
|
| Автор: arto 14.7.2011, 06:49 |
| если crontab -e, то зачем backup-system ? |
| Автор: dnbattack 18.7.2011, 01:28 | ||
Пробовал без него - все тоже самое .... |
| Автор: arto 18.7.2011, 09:51 |
| ну значит у вас что то очень странное |
| Автор: ssdm 18.7.2011, 13:16 | ||||||||||||
По моему вам к админам обращаться надо. У вас что то с cron ом. Не в perl'е проблема. |
| Автор: arto 18.7.2011, 14:13 |
| покажите crontab -l и head -5 /home/backup-system/backup/backup.pl |
| Автор: dnbattack 18.7.2011, 19:01 | ||||||
|
| Автор: arto 18.7.2011, 20:45 |
| crontab -l | od -tc ? |
| Автор: dnbattack 18.7.2011, 20:48 | ||||
|
| Автор: arto 18.7.2011, 22:03 |
| куда вы прописали свой скрипт? crontab -e или в файл или каталог в /etc/cron* ? |
| Автор: dnbattack 18.7.2011, 22:11 | ||||
|
| Автор: arto 18.7.2011, 22:55 |
| тогда разбирайтесь со своими админами. |