Встроенные Преобразования: Мне нравится этот небольшой шаблон. Завершенный это для булевской переменной и DateTime. Разработанный для следования за C# и как операторы.
public static Int32? AsInt32(this string s)
{
Int32 value;
if (Int32.TryParse(s, out value))
return value;
return null;
}
public static bool IsInt32(this string s)
{
return s.AsInt32().HasValue;
}
public static Int32 ToInt32(this string s)
{
return Int32.Parse(s);
{
Интересно. У меня есть несколько вопросов, которые могут указать на проблему.
1 / Вы распаковываете ту же платформу, что и tar? Это могут быть разные версии tar
(например, GNU и old-unix)? Если они разные, можете ли вы распаковать тот же ящик, на котором вы залили смолу?
2 / Что произойдет, если вы просто заархивируете myarchive.tar.gz? Это работает? Возможно, ваш файл поврежден / усечен. Я предполагаю, что вы заметите, если при сжатии возникнут ошибки, да?
На основе исходного кода GNU tar, он будет печатать это сообщение только в том случае, если find_next_block ()
вернет 0 преждевременно, что обычно вызвано усечением архив.
Может быть, у вас ftped файл в режиме ascii вместо двоичного? Если нет, это может помочь.
$ gunzip myarchive.tar.gz
А затем распаковать полученный tar-файл с помощью
$ tar xvf myarchive.tar
Надеюсь, это поможет.
У меня была аналогичная проблема с усеченными файлами tar, созданными заданием cron, и перенаправление стандарта в файл устранило проблему.
После разговора с коллегой cron создает канал и ограничивает объем вывода, который может быть отправлен на стандартный выход. Я исправил свою, удалив -v из моей команды tar, сделав ее менее многословной и сохранив вывод ошибок в том же месте, что и остальные мои задания cron. Если вам нужен подробный вывод tar, вам нужно будет выполнить перенаправление в файл.